
フォーム上に別フォームを開くボタンがあるのですが、クリックすると実行時エラーが表示されます。
実行時エラー 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
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
7
構文エラー:演算子がありません。 ACCESS SQL
その他(データベース)
-
8
アクセスのfilter、複数条件の記述方法を教えてください。
Access(アクセス)
-
9
access テキストボックスの値取得
Access(アクセス)
-
10
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
11
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
12
access2021 VBA メソッドまたはデータメンバーが見つかりません エラー発生
Access(アクセス)
-
13
実行時エラー3131 FROM 句の構文エラーです について
Access(アクセス)
-
14
ACCESS VBA でのエラー解決の根拠がわかりません エラー「イベントプロパティに指定した式・・
Access(アクセス)
-
15
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
16
新規レコード行を非表示にしたい
Access(アクセス)
-
17
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
18
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
19
Accessのコンボボックスの値が消える
Excel(エクセル)
-
20
アクセスVBAのMe!と[ ]
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースファイル(.db)を開...
-
accsessで顧客コードで氏名を呼...
-
帳票フォームでのあるコンボボ...
-
CSVファイルでテキストの改行の...
-
DocuWorksでの印刷
-
旧filemakerで和暦(令和など)...
-
テキストボックスにコントロー...
-
sqlite(spatialite_gui)での...
-
顧客データベースを作る場合、...
-
汎用カード型のデータベースソ...
-
20万行あるデータを動かしたい
-
はじめてのAccess 2019 について
-
ファイルメーカーへネットワー...
-
警察はスマホに保存した動画や...
-
更新クエリをリンクデータベー...
-
manana というやつで、間違って...
-
データ復旧にかかる時間
-
googleフォームでインストール...
-
最新の日付とその金額をクエリ...
-
エクセルのフィルタ抽出が固まる
マンスリーランキングこのカテゴリの人気マンスリー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の参照設定
おすすめ情報