Microsoft Access 掲示板

クエリ式の構文エラーが出てしまう

3 コメント
views
4 フォロー

以下のコードを実行しようとすると添付画像のエラーが表示されてしまいます。
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

名前なし
作成: 2022/04/28 (木) 18:04:25
通報 ...
1
りんご 2022/04/29 (金) 01:50:28 c564b@0e907

 団体コードに戻してみたり、団体コード2に変更してみたりするとどうなりますか?

2
hiroton 2022/05/02 (月) 08:28:30 7c17f@f966d

数字のみ、または、数字から始まるフィールド名を使うのはやめましょう。クエリはそれをフィールド名と認識できません

フィールド名であることを明示するために[2_団体コード]のように記述することは可能ですが(質問のように)間違いのもとです

2 バイトのアラビア数字が原因で Microsoft Access でクエリを実行すると、エラー メッセージが表示される

3
名前なし 2022/05/02 (月) 09:49:15 7f390@642cb

りんご様 hiroton 様

ご回答いただきありがとうございます。
おかげ様で解決しました。

フィールド名を「団体コード」もしくは「c1_団体コード」にしたらうまくいきました。
調べてみましたが、フィールド名の頭の文字に数字を使用するのは全角・半角に関わらずNGなんですね

フィールドの列数自体は必要な情報なので「c1_団体コード」で運用しようと思います。