VBScript在microsoft访问中`drop`和`create`新表

时间:2015-04-24 07:59:21

标签: vbscript

我在微软访问中有dropcreate新表的VBScript。 我的vb脚本是:

Set dbeng = CreateObject("DAO.DBEngine.120")
strMdbFile = "amw\db_amw.accdb"
Set db = dbeng.OpenDatabase(strMdbFile)
strSql1 = "DROP TABLE amw"
StrSql2 = "SELECT * INTO amw FROM MPN_V WHERE (((Format([tgl_bayar],'yyyy')) Between Format(Now(),'yyyy')-2 And Format(Now(),'yyyy')))"
strSql3 = "DROP TABLE UPDATE"
strSql4 = "SELECT * INTO update FROM UPDATE6 WHERE id="1""

db.Execute(strSql1)
db.Execute(strSql2)
db.Execute(strSql3)
db.Execute(strSql4)

当脚本运行第db.Execute(strSql1)行和db.Execute(strSql2)时,没有错误发生。但是,当脚本运行第db.Execute(strSql3)行和db.Execute(strSql4)时,错误发生:Expected end of statement, code 800A0401, source Microsoft VBScript compilation error。请更正我的脚本?非常感谢你

1 个答案:

答案 0 :(得分:1)

问题在于最后一条SQL语句的引号数。

strSql4 = "SELECT * INTO [update] FROM UPDATE6 WHERE id="1""

如果“id”是整数,请使用以下命令:

strSql4 = "SELECT * INTO [update] FROM UPDATE6 WHERE id=1"

如果“id”是一个字符串,请使用以下命令:

strSql4 = "SELECT * INTO [update] FROM UPDATE6 WHERE id=""1"""

在字符串中使用字符串时,必须将引号加倍。