以下内容适用于 Access;
SELECT Transactions.Date, Transactions.Time, Transactions.Direction,
Transactions.TransactionNumber, Transactions.TransactionType,
Transactions.Exception, Exceptions.ExceptionType
FROM Transactions LEFT JOIN Exceptions
ON (Transactions.TransactionNumber = Exceptions.TransactionNumber)
AND (Transactions.Date = Exceptions.Date)
AND (Transactions.TokenNumber = Exceptions.TokenNumber)
WHERE (((Transactions.Date)>=20120803)
AND ((Transactions.Direction)=-1)
AND ((Exceptions.ExceptionType) Not In (43,44,45,46)
OR (Exceptions.ExceptionType) Is Null)
AND ((Transactions.TokenNumber)=6605253))
ORDER BY Transactions.Date, Transactions.TransactionNumber;
但是当在 ASP 中完成如下操作时,我收到错误“80004005”
SELECT Transactions.Date, Transactions.Time, Transactions.Direction,
Transactions.TransactionNumber, Transactions.TransactionType,
Transactions.Exception, Exceptions.ExceptionType
FROM Transactions LEFT JOIN Exceptions
ON Transactions.TransactionNumber = Exceptions.TransactionNumber
AND Transactions.Date = Exceptions.Date
AND Transactions.TokenNumber = Exceptions.TokenNumber
WHERE Transactions.Direction = -1
AND (Exceptions.ExceptionType Not In (43,44,45,46)
OR Exceptions.ExceptionType Is Null)
AND Transactions.TokenNumber= 6605253
AND Transactions.Date >= 20120803
ORDER BY Transactions.Date, Transactions.TransactionNumber
我顺便删除了一些括号,认为这会有所帮助,但事实并非如此。
最佳答案
我同意 Remou 的评论。 80004005 并不表示查询错误,我认为它表示数据源名称错误或 Access 文件损坏。
我会检查您的连接字符串并验证您是否可以在执行此查询之前运行一个简单的查询。
关于sql - MS Access 查询在经典 ASP 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11904893/