
フォーム上に別フォームを開くボタンがあるのですが、クリックすると実行時エラーが表示されます。
実行時エラー 3075
クエリ式”コード IN(○○,××)の構文エラー 演算子がありません。
コードを数値型からテキスト型に変更したのが原因だと思います。
エラーが出ない方法を教えていただければ助かります。
よろしくお願いいたします。
Dim rst As Recordset
Dim strWhere As String
Set rst = Me.RecordsetClone
With rst
If .RecordCount = 0 Then
Beep
Exit Sub
End If
.MoveFirst
strWhere = ""
Do Until .EOF
strWhere = strWhere & IIf(Len(strWhere) > 0, ",", "") & !コード
.MoveNext
Loop
.Close
strWhere = "コード IN (" & strWhere & ")"
End With
DoCmd.OpenForm "フォーム", , , strWhere
No.4ベストアンサー
- 回答日時:
補足をよんでいなかったので、In句の中身の使い道
がわかりませんでした。
コード IN(○○,××)
○○,××は、元フォームに表示されているレコードになりますので
ということならば、No3の方の回答の、
strWhere = ",'" & !コード & "'"
を
strWhere = strWhere & ",'" & !コード & "'"
にすればよろしいかと。
No.3
- 回答日時:
> コードを数値型からテキスト型に変更したのが原因だと思います。
ということですから
数値型の場合に
IN (10,20,30)
であったものを
IN ('10','20','30')
あるいは
IN ("10","20","30")
となるように編集しなくてはいけません。
文字列に 「'」 が含まれていることがあり得る場合以外は
前者の方が分かり易いのでお勧めです。
ついでに、カンマ区切りとか、
Where条件の 「AND」 でつなぐ場合のテクニックを。
IIf の判断をしないで
すべて、2番目以降の場合と同様に記述し
連結を終了してから
先頭の余分な文字を MID 関数を使用して取り除きます。
strWhere = ""
Do Until .EOF
strWhere = ",'" & !コード & "'"
.MoveNext
Loop
.Close
strWhere = "コード IN (" & Mid(strWhere,2) & ")"
直書きにつき、間違っていたら御免なさい。
この回答への補足
ご回答ありがとうございました。
この通りに書きましたら、次のフォームが開いてレコードが一行表示されました。
説明不足だったのですが、元フォームには複数のレコードがある帳票フォームで、次のフォームも同じになります。
この方法で、複数の値を渡すことができれば、動作しそうです。
ありがとうございました。
No.1
- 回答日時:
止まった行がDoCmdの行なら、
DoCmd.OpenForm "フォーム", , , strWhere
の前に
debug.print strwhere
とか
msgbox strwhere
などとして、意図しているstrWhereになっているかを確認するとよいと思います。
この回答への補足
ご回答ありがとうございました。
止まった行はDoCmdの行です。
msgbox strwhereとしたところ、エラーメッセージと同じ内容の部分が表示されました。
コード IN(○○,××)
○○,××は、元フォームに表示されているレコードになりますので、これでいいと思います。
ただ、知識がありませんので、この操作がどのような意味か理解できませんでした。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESS VBAの実行時エラーなんですが
PowerPoint(パワーポイント)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
レコード登録時に「演算子がありません」構文エラーが発生
その他(プログラミング・Web制作)
-
-
4
Access 実行時エラー'3075' 対処方法
その他(データベース)
-
5
構文エラー : 演算子がありません。
その他(データベース)
-
6
アクセスのfilter、複数条件の記述方法を教えてください。
Access(アクセス)
-
7
構文エラー:演算子がありません。 ACCESS SQL
その他(データベース)
-
8
access テキストボックスの値取得
Access(アクセス)
-
9
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
10
実行時エラー3131 FROM 句の構文エラーです について
Access(アクセス)
-
11
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
12
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
13
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
14
アクセスVBAのMe!と[ ]
Access(アクセス)
-
15
access2021 VBA メソッドまたはデータメンバーが見つかりません エラー発生
Access(アクセス)
-
16
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
17
Accessのコンボボックスの値が消える
Excel(エクセル)
-
18
access2003 クエリSQL文について
その他(プログラミング・Web制作)
-
19
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
20
ACCESS VBA でのエラー解決の根拠がわかりません エラー「イベントプロパティに指定した式・・
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルト復旧ソフト”Pndora R...
-
データベースファイル(.db)を開...
-
accsessで顧客コードで氏名を呼...
-
エクセルのフィルタ抽出が固まる
-
ACCESSのSQLで、NULLかNULLでな...
-
警察はスマホに保存した動画や...
-
シートが異なるセル同士を、相...
-
作成日時が最古を探す
-
将棋のDB。「この局面と同一の...
-
20万行あるデータを動かしたい
-
Accessのリンクテーブルについて
-
Accessを開きなおすとテキスト...
-
DocuWorksでの印刷
-
CSVファイルでテキストの改行の...
-
QSL でのフォーム画面作成について
-
データベースソフトの「TCARD f...
-
マクロの別シートのデータ振り...
-
android版のMs accessはありま...
-
DBのタイプの指定とサイズにつ...
-
リスト形式の表とデータベース...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
不明なコマンドです("FROM")。...
-
Access2010 「演算子がありませ...
-
Access2007 DoCmd.ApplyFilter...
-
スナップショット取得について...
-
漢字名のテーブルとカラムのCRE...
-
macでsqlite3でcsvのインポート
-
AccessからOracleへのリンクテ...
-
WinPE.ISO の作り方を教えてく...
-
AOMEI Backupper Standard 3.2 ...
-
オペランドが足りませんとコメ...
-
パソコンにコンポーザーをイン...
-
mfc42.dllファイルってなんです...
-
VBA シートの切り替えができな...
-
【ExcelVBA】sheet作成時にマク...
-
Excel2010でふりがなが漢字にな...
-
付箋紙95をお使いの方
-
マクロ実行ボタンがコピー出来ない
-
Windows10にアップできません。
-
AUTOCAD 2010でdwlファイルの場...
-
Microsoft Excel VBAの参照設定
おすすめ情報