以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  VBA数据库操作出问题  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=94656)

--  作者:天涯doa
--  发布时间:2016/3/11 18:24:19
--  VBA数据库操作出问题

想利用VBA进行动态的数据存取,那么数据库的表名就是不断变化的

以下内容为程序代码:

1 TCCODE="600848"
2 strSqlalt2="alter table " & TCCODE & " add open single"
3 adoConn.Execute(strSqlalt2)

在上面代码中变量代替表名,然后测试向里面插入字段,结果金字塔报错,说字段定义语法不正确,print一下结果是

alter table 600000 add open single ,没看出是哪里出问题了啊

数据库的连接什么的都是正常的,已经蒙了,求版主帮忙!


--  作者:马良
--  发布时间:2016/3/11 21:58:04
--  
在数据库中直接执行sql语句看是否通过那?
--  作者:马良
--  发布时间:2016/3/11 21:59:33
--  
先用排除法试试
--  作者:天涯doa
--  发布时间:2016/3/12 11:11:52
--  

试了,在access里执行alter table 600000 add open single 这个sql语句是可以的

然后又测试了下

strSqlalt2=“alter table 600000 add open single

adoConn.Execute(strSqlalt2)

也是可以的,然后就彻底不会了....


--  作者:天涯doa
--  发布时间:2016/3/12 11:57:42
--  

发现个问题,不知道算不算bug,用下面代码加字段时,第一个可以加,到第二句就报错,然后把字段名改成中文就可以顺利执行。
                   strSqlalt3="alter table " & TCCODE & " add High double"
                   adoConn.Execute(strSqlalt3)
                   strSqlalt4="alter table " & TCCODE & " add Low double"
                   adoConn.Execute(strSqlalt4)
                   strSqlalt5="alter table " & TCCODE & " add Close single"
                   adoConn.Execute(strSqlalt5)
                   strSqlalt6="alter table " & TCCODE & " add VOL double"
                   adoConn.Execute(strSqlalt6)
                   strSqlalt1="alter table " & TCCODE & " add stockdate date"
                   adoConn.Execute(strSqlalt1)

 

被玩的不要不要的图片点击可在新窗口打开查看