![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
フォーム上に別フォームを開くボタンがあるのですが、クリックすると実行時エラーが表示されます。
実行時エラー 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(パワーポイント)
-
構文エラー:演算子がありません。 ACCESS SQL
その他(データベース)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
-
4
アクセスVBAのMe!と[ ]
Access(アクセス)
-
5
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
6
access2003 クエリSQL文について
その他(プログラミング・Web制作)
-
7
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
8
アクセスのfilter、複数条件の記述方法を教えてください。
Access(アクセス)
-
9
実行時エラー3131 FROM 句の構文エラーです について
Access(アクセス)
-
10
Access サブフォームでの選択行の取得
その他(データベース)
-
11
実行時エラー '3464': 抽出条件でデータ型が
Access(アクセス)
-
12
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
13
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
14
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
15
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
16
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
17
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
18
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
19
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
20
VBでSQL文のUPDATE構文を使った時のエラーについて
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
不明なコマンドです("FROM")。...
-
Access2010 「演算子がありませ...
-
エクセル/マクロ Exit Subが実...
-
mfc42.dllファイルってなんです...
-
MACのBootCampでWin10のインス...
-
VBA シートの切り替えができな...
-
エクセル 「実行時エラー"13":...
-
pythonでrequestsが使えない
-
VBAで横データを縦データに変換...
-
JWWでDXFファイルを開きたい
-
オペランドが足りませんとコメ...
-
IEのActiveXダウンロードがブロ...
-
EXCELの通常のファイルがダブル...
-
WindowsXP起動ロゴ表示中にブル...
-
Excel2010でふりがなが漢字にな...
-
Cドライブ直下にインストール...
-
VBAでシートコピー後、シート名...
-
VBAで写真参照→写真サイズ変...
-
vista32 インストローラが正し...
-
エクセル DBから該当データを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
不明なコマンドです("FROM")。...
-
Access2010 「演算子がありませ...
-
Access2007 DoCmd.ApplyFilter...
-
オペランドが足りませんとコメ...
-
【ExcelVBA】sheet作成時にマク...
-
エクセル/マクロ Exit Subが実...
-
mfc42.dllファイルってなんです...
-
VBA シートの切り替えができな...
-
エクセルの文字間スペースを入...
-
貼り付けをマクロで禁止させたい。
-
(int)キャストとintvalの違い
-
pythonでrequestsが使えない
-
エクセル 「実行時エラー"13":...
-
Excel2010でふりがなが漢字にな...
-
VBAで横データを縦データに変換...
-
AUTOCAD 2010でdwlファイルの場...
-
エクセル 複数シートのフィル...
-
『PHP』 MAMPで$_SERVER["REMOT...
-
マクロ実行ボタンがコピー出来ない
-
MACのBootCampでWin10のインス...
おすすめ情報