2016-04-26 12 views
0

私の知る限り、このstrSQLステートメントは正しくフォーマットされています。私は過去に何の問題もなく、同様のコードを使用しました。構文エラー(BucketID = CA.CAD.BAX.0.3.0.CY AND MaxofMarkAsofDate = 8位/」クエリ 式の演算子がありません - 私はこれを実行したときしかし、私は3075Access VBAの構文エラー

ファイル名を指定して実行時エラーを取得します2014分の20#」

エラーメッセージこれはイライラ曖昧であり、私は問題が私のstrSQLフォーマットであるかを把握することはできません

strSQL = "SELECT * FROM FXData WHERE BucketID=" & Forms!Correlation.cboCurve2.Value & " AND MaxOfMarkAsofDate=#" & MaxOfMarkAsofDate & "# ORDER BY MaxOfMarkasOfDate " 

Debug.Print strSQL 

Set rs = CurrentDb.OpenRecordset(strSQL, Type:=dbOpenDynaset, Options:=dbSeeChanges) 
Set rs2 = CurrentDb.OpenRecordset("HolderTable") 
+1

'BucketID'と比較する文字列値の前後に引用符を含めて、SQL文の一部が次のようになるようにします。 'BucketID =' CA.CAD.BAX.0.3.0.CY''またはスイッチパラメータクエリに渡すと、wiを気にする必要はありませんこれらの引用符または '# 'デリミタで区切ります。 – HansUp

+0

最初の列(通常は非表示)がID値の場合は、次のようにします: 'forms!correlation.cboCurve2.column(0)' – LiamH

答えて

2

エラーメッセージのこの特定の部分。。。:

BucketID = CA.CAD.BAX.0.3.0.CY

あなたBucketIDが文字列ない数であることを示している、あなたは、このように引用符でそれを囲む必要があります。

strSQL = "SELECT * FROM FXData WHERE BucketID='" & Forms!Correlation.cboCurve2.Value & "' AND MaxOfMarkAsofDate=#" & MaxOfMarkAsofDate & "# ORDER BY MaxOfMarkasOfDate " 
+0

感謝 - 私はその変更を行いましたが、 3078 ':Microsoft Accessデータベースエンジンが入力テーブルまたはクエリ' False 'を見つけることができません。それが存在し、その名前が正しく綴られていることを確認してください。 "私はこのコードのどこかで" false "の名前で何かを呼び出すことはないので、 – beeba