![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
現在、ACCESSVBAを用いての作業を行っているのですが、
判定条件として複数条件をDLOOKUP文を使用すると実行時にエラーとなるなどして、
上手く動作しません。
おかしな点がありましたら指摘していただけますでしょうか。
対象テーブルのフィールドAAA~は全てテキスト型となっております。
Me!txtはフォーム上から取得した値、
aaaaはそこまでの処理に使用した変数、
rsはレコードセットとなっております。
レコードセットはExcelのセルを読み取ったデータが格納されており、
これらの変数はそのまえの処理で正常に取得を確認しています。
If DLookup("AAA", "TBL", _"BBB ='" & Me!txt & "'" And _"CCC = '" & aaaa & "'" And _"CCC = '" & Left(rs(1), 3) & "'") = Null Then
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
> If DLookup("AAA", "TBL", _"BBB ='" & Me!txt & "'" And _"CCC = '" & aaaa & "'" And _"CCC = '" & Left(rs(1), 3) & "'") = Null Then
上記は
If DLookup("AAA", "TBL", _
"BBB ='" & Me!txt & "'" And _
"CCC = '" & aaaa & "'" And _
"CCC = '" & Left(rs(1), 3) & "'") = Null Then
を1行にしちゃったものになりますか?
継続行の _ をそのままに、1行にしてもエラーになるだけです。
条件部分の基本は
"BBB='★1' And CCC='★2' And CCC='★3'"
となると思います。
が、提示あったものでは And が文字列内に含まれていませんね。
★1 ~ ★3 部分を加工していけば良いと思います。
方法としては、提示されたやり方でも良いと思います。
また、以下の様な方法でも・・・・
Dim sWhere As String
sWhere = "BBB='★1' And CCC='★2' And CCC='★3'"
sWhere = Replace(sWhere, "★1", Me!txt)
sWhere = Replace(sWhere, "★2", aaaa)
sWhere = Replace(sWhere, "★3", Left(rs(1), 3))
If IsNull(DLookup("AAA", "TBL", sWhere)) Then
※ Null 判別は = では NG なので、IsNull を使用します。
※ かなりシビアな処理性能を求めるところでないのなら、
後者の方法もありなのかと・・・・
※ 基本となるものを記述しておくと、
CCC='★2' And CCC='★3'
この部分、本当に And で良いんだろうか・・・とか気付きやすい?
"BBB='★1' And (CCC='★2' Or CCC='★3')" ??
ありがとうございます。
= NULLと継続行の _ については、誤って残してしまっておりました。
>And が文字列内に含まれていませんね。
というこちらを意識して記述を修正したところ上手く動かすことが出来ました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access DLookup vbaで条件を2件設定したい場合どうすればよいでですか? 現在 If( 1 2023/06/28 14:28
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
日付と文字列を条件としてDLookup関数で抽出さ
その他(プログラミング・Web制作)
-
2つ目のレコードの値を取得するには?
Access(アクセス)
-
VBとアクセスでSQL文に変数を使いたいのですが
Visual Basic(VBA)
-
-
4
Access サブフォームでの選択行の取得
その他(データベース)
-
5
Access DlookUPの複数条件抽出
Access(アクセス)
-
6
新規レコード行を非表示にしたい
Access(アクセス)
-
7
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
8
アクセスで特定のレコードを非表示にする方法
Access(アクセス)
-
9
ACCESS IIF関数 複数条件の設定について
Excel(エクセル)
-
10
サブフォームの新規レコードに移動したい アクセス
Access(アクセス)
-
11
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
12
AccessのWHERE句において、変数は使用できますか?
Access(アクセス)
-
13
ACCESSのMax(Min)関数使用方法
Access(アクセス)
-
14
ACCESSのコンパイルエラーについて
その他(データベース)
-
15
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
16
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
17
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
18
DLookupがうまく出来ません
Access(アクセス)
-
19
Accessのサブフォームから値を参照する方法について
その他(データベース)
-
20
アクセスでフォームビューがみれません?
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のテキストファイルをエク...
-
【バッチファイル】ホスト名を...
-
VBAで○○:○○と表示させたいのに...
-
昔のテレビっておっぱいが出て...
-
参照設定は2.8と6.0 6.1とどち...
-
Adobe Acrobat と Adobe Reader...
-
デスクチェア―のガスシリンダー...
-
バンタンのDOPEの最初って ラプ...
-
40代の妻が
-
latestの対義語
-
最後の雨 韓国語バージョン
-
BTSのメンバーってそれぞれ色々...
-
「TWICE」の読み方って トワイ...
-
寝取られジャンルが好きな人の...
-
韓流好き妻の行動に怒り…私は狭...
-
Accessフォームでの複数条件検索
-
雪の女王、ボラの少女時代を演...
-
韓流女と別れたい
-
複数条件のDLOOKUP文が上手く使...
-
韓国
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
昔のテレビっておっぱいが出て...
-
複数のテキストファイルをエク...
-
【バッチファイル】ホスト名を...
-
雪の女王、ボラの少女時代を演...
-
堀秀政の通称「久太郎」の読み方
-
バンタンのDOPEの最初って ラプ...
-
VBAで○○:○○と表示させたいのに...
-
TextBoxコントロールを引数とし...
-
参照設定は2.8と6.0 6.1とどち...
-
韓流女と別れたい
-
Adobe Acrobat と Adobe Reader...
-
水に映った月明かりを表す言葉
-
韓流好き妻の行動に怒り…私は狭...
-
デスクチェア―のガスシリンダー...
-
確率の問題です。 10人を4人、4...
-
TWICEのライブについてです 母...
-
imac2012ってまだ使えますか?...
-
Red velvetのアイリーンって可...
-
角度の求め方
-
次の問題(本文の下にあります...
おすすめ情報