
フォーム上に別フォームを開くボタンがあるのですが、クリックすると実行時エラーが表示されます。
実行時エラー 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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Access(アクセス) アクセス レポートを開いたときにパラメーターの自動入力がしたい 4 2022/11/30 11:21
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) IBM Notes9のメールをExcelVBAにて送信するコードについての質問です。 以下のコードを 3 2023/06/21 17:58
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESS VBAの実行時エラーなんですが
PowerPoint(パワーポイント)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
構文エラー : 演算子がありません。
その他(データベース)
-
-
4
Access 実行時エラー'3075' 対処方法
その他(データベース)
-
5
構文エラー:演算子がありません。 ACCESS SQL
その他(データベース)
-
6
レコード登録時に「演算子がありません」構文エラーが発生
その他(プログラミング・Web制作)
-
7
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
8
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
9
アクセスのfilter、複数条件の記述方法を教えてください。
Access(アクセス)
-
10
access2003 クエリSQL文について
その他(プログラミング・Web制作)
-
11
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
12
Access サブフォームでの選択行の取得
その他(データベース)
-
13
実行時エラー3131 FROM 句の構文エラーです について
Access(アクセス)
-
14
パラメータが少なすぎます。1を指定して下さい。""
Excel(エクセル)
-
15
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
16
ACCESS VBA でのエラー解決の根拠がわかりません エラー「イベントプロパティに指定した式・・
Access(アクセス)
-
17
Access Error3061 パラメータが少なすぎます。4を指定してください。
Access(アクセス)
-
18
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
19
VBでSQL文のUPDATE構文を使った時のエラーについて
Visual Basic(VBA)
-
20
新規レコード行を非表示にしたい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースファイル(.db)を開...
-
CSVファイルでテキストの改行の...
-
顧客データベースを作る場合、...
-
ACCESSのSQLで、NULLかNULLでな...
-
汎用カード型のデータベースソ...
-
縦書きテキストボックスの表示"...
-
20万行あるデータを動かしたい
-
Accessを開きなおすとテキスト...
-
Access SQL のMID関数について
-
エクセルのフィルタ抽出が固まる
-
半角ハイフンに似た文字
-
警察はスマホに保存した動画や...
-
「1004:アプリケーション定義...
-
更新クエリをリンクデータベー...
-
Accessフォームからパラメータ...
-
スプレッドシートで、正規表現...
-
Access クエリ上で表示させた割...
-
Microsoft Access での経過日数...
-
FileMaker Pro 10 で令和を表示
-
データベースの勉強 公務員を目...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
不明なコマンドです("FROM")。...
-
Access2010 「演算子がありませ...
-
Access2007 DoCmd.ApplyFilter...
-
動的SQL (その3)
-
漢字名のテーブルとカラムのCRE...
-
AccessからOracleへのリンクテ...
-
スナップショット取得について...
-
パソコンにコンポーザーをイン...
-
オペランドが足りませんとコメ...
-
【ExcelVBA】sheet作成時にマク...
-
Excel2010でふりがなが漢字にな...
-
エクセル/マクロ Exit Subが実...
-
VBA シートの切り替えができな...
-
エクセルの文字間スペースを入...
-
AUTOCAD 2010でdwlファイルの場...
-
mfc42.dllファイルってなんです...
-
マクロ実行ボタンがコピー出来ない
-
エクセル シート内のハイパー...
-
Excelユーザーフォームでシート...
-
Microsoft Excel VBAの参照設定
おすすめ情報