以下は 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
ちなみに、助けになると思っていくつかのブラケットを削除しましたが、そうではありませんでした。