ACCESS VBAについて教えてください。
DoCmd.OpenFormのWhereConditionの部分の記述がわからないのです。
1つの条件の場合は問題なく表示できたのですが、複数条件にすると「抽出条件でデータ型が一致しません。」とエラーになってしまいます。
なぜでしょうか?
このように記述しています。
DoCmd.OpenForm "会員データ", , , "種別 = '" & Me![種別] & "' AND 会員番号 = '" & Me![会員番号] & "'"
種別、会員番号ともに数値データです。
No.2ベストアンサー
- 回答日時:
こちら(Access2010)では、抽出条件・・・のエラーになりました。
先の回答者さんも指摘されていますが
DoCmd.OpenForm "会員データ", , , "種別 = '" & Me![種別] & "' AND 会員番号 = '" & Me![会員番号] & "'"
種別、会員番号ともに『数値データ』です。
なので、シングルクォーテーションで括る必要は有りません。
DoCmd.OpenForm "会員データ", , , "種別 =" & Me![種別] & " AND 会員番号 =" & Me![会員番号]
です。
これでエラーになるのなら、
DoCmd.OpenForm "会員データ"
だけで試してみれば問題解決の糸口が掴めるかと。
なお、日付型の場合は、# で括ってください。
No.1
- 回答日時:
Option Compare Database
Option Explicit
Private Sub コマンド0_Click()
On Error GoTo err_コマンド0_Click
DoCmd.OpenForm "画像一覧", , , "id=1"
DoCmd.OpenForm "画像一覧", , , "id='1'"
DoCmd.OpenForm "画像一覧", , , "id=''"
exit_コマンド0_Click:
Exit Sub
err_コマンド0_Click:
MsgBox Err.Description
Resume exit_コマンド0_Click:
End Sub
3つの書き方の内、下の2つはエラーになります。
でも、エラーメッセージが違います。
"OpenFormアクションはキャンセルされました"
もちろん、原因は<型の不一致>です。
'1'・・・文字列型
''・・・・ヌル値
>抽出条件でデータ型が一致しません。
これは、クエリの実行時のエラーだと推察します。
ですから、<ACCESS VBAのOpenForm書き方>のみに問題がある訳ではないと思います。
でも、先に発生するエラーは、"OpenFormアクションはキャンセルされました"の筈。
だとするならば、DoCmd.OpenFormは正常に実行されていることになります。
つまり、問題が複層している可能性があります。
なお、Access2002の場合ですが・・・。
ありがとうございます。
>つまり、問題が複層している可能性があります。
再度、見直すと矛盾があるような気がしてきました・・・
もう一度見直します。
その時に疑問が沸いたら、整理したうえで質問いたします。
早速の回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessでセレクタをダブルクリックで別フォームで詳細表示 3 2022/12/20 10:36
- Access(アクセス) Access DLookup vbaで条件を2件設定したい場合どうすればよいでですか? 現在 If( 1 2023/06/28 14:28
- Excel(エクセル) 指定した条件でTRANSPOSE関数を使う 5 2023/08/18 19:45
- Visual Basic(VBA) VBA シート間の転記で、条件の追加コードの書き方について教えて下さい。 13 2023/02/26 09:31
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- Excel(エクセル) Excelの数式についての質問 1 2022/10/31 15:50
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
アクセスVBAのMe!と[ ]
Access(アクセス)
-
-
4
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
5
「#エラー」の回避
Access(アクセス)
-
6
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
7
ACCESSでコントロールソースの変更
Access(アクセス)
-
8
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
9
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
10
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
11
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
12
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
13
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
14
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
15
新規レコード行を非表示にしたい
Access(アクセス)
-
16
Accessフォームを開くときに決まった順番で表示
Access(アクセス)
-
17
アクセスで追加した項目に全て同じ値を一発で入れたい
Access(アクセス)
-
18
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
19
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
20
ACCESS VBA コマンドDoCmd.OpenFormの引数
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでFormat がうまく使えない
-
Debug Assertion Failed?
-
LTspiceのTime Stepエラーについて
-
不明なソフトウェア例外(0xe06...
-
Subversionのリポジトリでが壊...
-
vbaでファイルを開くパス名に変...
-
エラーコード 70 「書き込み...
-
エクセルのエラーについて
-
EXCELを開くとエラーがでます。
-
バッチファイルで発生するエラ...
-
NET USE コマンドでエ...
-
POV-Ray についての質問です!
-
シェルスクリプトの実行エラー...
-
C# HttpWebRequestのエラーにつ...
-
xmlドキュメントから別拡張子で...
-
UWSC初心者です。
-
Web.Config 構成ファイルのエラー
-
実行時エラー'1004': アプリケ...
-
iphone同期時にエラーが出ます
-
ASP.NETでのランタイムエラー?...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Debug Assertion Failed?
-
VBAでFormat がうまく使えない
-
NET USE コマンドでエ...
-
Excel ファイルに保存すると実...
-
シェルスクリプトの実行エラー...
-
Web.Config 構成ファイルのエラー
-
ホームページビルダーの”全体の...
-
エラーコード 70 「書き込み...
-
vbaでファイルを開くパス名に変...
-
C# HttpWebRequestのエラーにつ...
-
ACCESS VBAのOpenForm書き方
-
VBAで印刷するとエラーになって...
-
POV-Ray についての質問です!
-
不明なソフトウェア例外(0xe06...
-
Access ADOで文字列を日付型へi...
-
WNetAddConnection*()の使い方
-
LTspiceのTime Stepエラーについて
-
bcpadがうまく実行できないので...
-
xmlドキュメントから別拡張子で...
-
VB2010ビルドできるが配...
おすすめ情報