我正在使用以下Conn String连接到Access DB
Conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=\\server\share\Data\PFWTRAN.MDB"
以下SQL工作正常;
SQLIn = "SELECT Date, Time " & _
"FROM Transactions " & _
"WHERE TokenNumber = " & TokenNo & " " & _
"AND Date >= " & FromDateG & " " & _
"AND Direction = -1 " & _
"ORDER BY Date, TransactionNumber;"
但是,我想要在Transactions.Exception = 0的行,但是当我添加此AND条件时,脚本在打开RS时失败;
error '80004005' /path/.../.../...asp, line 97
如果我删除AND条件,它会再次起作用。
即使我尝试在SELECT部分中设置'Exception',它也不会运行并给我错误。
为什么包含一个字段会导致这样的错误?我读错误是由于权限,但我的权限很好,因为SQL没有这一个字段。
任何线索?
这是一个非常古老的Access 95数据库(甚至更早),或许我需要更改提供的连接?
答案 0 :(得分:1)
“但是,我想要Transaction.Exception = 0的行,但是当我添加此AND条件时,脚本在打开RS时失败”
但是Transaction.Exception引用的是与查询使用的表不同的表。
FROM Transactions
Date
,Time
和Exception
为Problem names and reserved words in Access。将这些名称括在方括号中,或用表名/别名作为前缀。
考虑切换您的方法以使用参数查询...并将其作为参数提供TokenNo
和FromDateG
值,而不是将其值构建到SELECT
语句中。