以下のコードを実行しようとすると添付画像のエラーが表示されてしまいます。
MySQL構文チェッカーを見る限りSQLは誤っていないようです。
もともとは「団体コード」というフィールド名で、問題なく動いていたのですが、
フィールド名を「2_団体コード」に変更したところエラーが出るようになりました。
解決方法がわかればご教示いただけないでしょうか?
Private Sub btn_clear_Click()
Me.txt_検索用団体コード = Null
Me.txt_検索用県名 = Null
Me.txt_検索用住所 = Null
'レコードセット/コネクション/SQL文を宣言する
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim q As String
Set cn = CurrentProject.Connection
'SQLを発行
q = ""
q = q & "SELECT * "
q = q & "FROM q_自治体情報検索 "
q = q & "WHERE 2_団体コード IS NOT NULL "
q = q & ";"
'レコードセットを開く
rs.Open
Source:=q,
ActiveConnection:=cn,
CursorType:=adOpenStatic,
LockType:=adLockReadOnly
'レコードソースにレコードセットを設定
Forms!f_自治体情報検索.RecordSource = q
End Sub
団体コードに戻してみたり、団体コード2に変更してみたりするとどうなりますか?
数字のみ、または、数字から始まるフィールド名を使うのはやめましょう。クエリはそれをフィールド名と認識できません
フィールド名であることを明示するために
[2_団体コード]
のように記述することは可能ですが(質問のように)間違いのもとです2 バイトのアラビア数字が原因で Microsoft Access でクエリを実行すると、エラー メッセージが表示される
りんご様 hiroton 様
ご回答いただきありがとうございます。
おかげ様で解決しました。
フィールド名を「団体コード」もしくは「c1_団体コード」にしたらうまくいきました。
調べてみましたが、フィールド名の頭の文字に数字を使用するのは全角・半角に関わらずNGなんですね
フィールドの列数自体は必要な情報なので「c1_団体コード」で運用しようと思います。