DATABASE('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Test.mdb');
DBEXECUTE('insert into RB(stockclose) values(close)');
没办法写入数据,错误在哪,请教!
(数据库都按要求建好得)
请版主给予一个具体可用的例子,感谢
DBEXECUTE('insert into RB(stockclose) values(close)');
这里的close是字符串变量,无论哪个数据库都不会认得
DATABASE('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Test.mdb');
DBEXECUTE('insert into RB(stockclose) values('&NUMTOSTR(close,2)&')');
再试
没搞明白 INSERT INTO 语句为:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
我将stockclose定义数据类型为:数字 ; close 是我要写入的收盘价也应该是:数字
如果使用NUMTOSTR(close,2) 不就是字符值?
加载公式提示 : 没有为命令对象设置命令。
DATABASE('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Test.mdb');
DBTABLE2('Select * From ');
DBEXECUTE('insert into RB(stockclose) values('&NUMTOSTR(close,2)&')');
暂时增加中间一列看看是否可以正常工作了
增加中间一列后,可成功写入数据;
但写入数据的结果与想实现的效果有较大出入;
在实时的接收行情中加载公式,软件基本上就不可能运行甚至崩溃;
打开数据库查看,里面是有数据,而且当相多,细心看会发现有周期重复的数据;
个人的想法是将当前周期的数值写入数据库,下一个周期的数值增加入下一条记录;
但看到的结果却是每一个周期,语句就将从第一个周期至当前周期的每个数值一个个写入数据库,然后下一个周期又重复一次,是否就这个原因导致运行不了崩溃?
如果只要实现我原有想法,只将当前周期记录写入,过往的记录不再重复写入应该如何编写?
为了不使行情软件负担过重,影响数据的接收,已将工作迁到VBA上去了;
但遇到一个问题:使用RegReportNotify触发事件,执行写入数据的动作;
查看数据库,发现同一条记录有不定数量的重复记录数(大概1~5条),这怎会事?