我正在Excel中编写VBA代码以访问Access数据库。
我正在使用此提供商
"Provider=Microsoft.ACE.OLEDB.12.0; Data Source= " & DBFile & ";"
这是我的SQL字符串
SQlSrc = "SELECT YEAR FROM Data ORDER BY YEAR ASC"
SQlSrc = SQlSrc & ";SELECT STN FROM STN_List WHERE include = TRUE"
当我单独打开每个记录集时,它可以正常工作(只是第一行或第二行)但是当我像上面那样制作一个语句时,我得到一个错误
“在SQL语句结束后找到的字符”
是否有人知道Access 2007是否存在问题?
答案 0 :(得分:2)
您可以重复使用该连接。
Dim cn As Object
Dim rs As Object
cn="Provider=Microsoft.ACE.OLEDB.12.0; Data Source= " & DBFile & ";"
SQlSrc = "SELECT YEAR FROM Data ORDER BY YEAR ASC"
rs.Open SQlSrc, cn
''Do stuff
SQlSrc = "SELECT STN FROM STN_List WHERE include = TRUE"
rs.Open SQlSrc, cn
cn.Execute "UPDATE Table SET Column=2"
答案 1 :(得分:1)
看起来Access和/或提供程序不接受多个SQL语句来打开单个记录集。
那就是说,我不确定这是否是所有OLEDB供应商的标准配置,还是您所使用的那个。
答案 2 :(得分:1)
IMO MS Access不支持单个Command中的多个SELECT语句。您可能必须将其拆分为单独的命令。