※ ChatGPTを利用し、要約された質問です(原文:access VBA)
Access VBAでSQL文実行時にエラーが発生する原因とは?
組み立てたSQL文を実行し、movelastするとエラーになります。
エラー番号:3071
SQLは、対象のテーブルよりキーを指定して抽出していますが、
そのテーブルにキーが2種類以上存在するとエラーになってしまいます。
なにが原因なのでしょうか。
STR_sql = ""
STR_sql = STR_sql & " SELECT Mid([CM_KEY],2,2) AS A " & vbCrLf
STR_sql = STR_sql & " , Mid(StrConv([NAIYO],8),31,3) AS B " & vbCrLf
STR_sql = STR_sql & " FROM C_table " & vbCrLf
STR_sql = STR_sql & "WHERE (((Left([CM_KEY],1))='K') " & vbCrLf
STR_sql = STR_sql & " AND ((Len(Trim([CM_KEY])))=3)) " & vbCrLf
STR_sql = STR_sql & " AND ((Mid(StrConv([NAIYO],8),45,8) <= " & STR_st_ymd & ")) " & vbCrLf
STR_sql = STR_sql & " AND ((Mid(StrConv([NAIYO],8),53,8) >= " & STR_ed_ymd & ")); " & vbCrLf
※テーブルのフィールドは全てテキスト型です。
お礼
ご回答ありがとうございました。 データの文字型が原因で、ダブルコーテーションをつけたら正常に動作しました。 SQLを分解して実行することで、原因を特定することができました。ありがとうございました。