Microsoft Access 掲示板

Dlookup関数での複数条件の設定方法

2 コメント
views
4 フォロー

テーブル1を元にクエリ1を作成しております。
[学年]、「月」、「金額」

画像1

フォーム上に[学年]、[月]のコンボボックスを作成しております。
画像1

[月]の更新後処理に

Private Sub テキスト2_AfterUpdate()
  Me.テキスト4 = DLookup("[金額]", "クエリ1", "[クエリ1]![月]=[テキスト2]" And "[クエリ1]![学年] = [テキスト0]")
 End Sub

と記述しておりますがエラーになります。
何処を修正したら良いのか分かりません。
ご指導宜しくお願い致します。

SUZU
作成: 2019/10/05 (土) 19:35:44
通報 ...
1

DLookup の第3引数は抽出条件式を文字列として設定します。
現状は、 "文字列" AND "文字列"となってますので、文字列に対する論理演算になり常にFalseになります。
AND は""の中にいれてください。

次に、[テキスト2]が""内に入ってますので、これは単なる"[テキスト2]"という文字列になります。[テキスト2]コントロールを参照するには""の外に出す必要があります。

  Me.テキスト4 = DLookup("[金額]", "クエリ1", "[月]='" & Me.テキスト2 & "' And [学年]='" & Me.テキスト0 & "'")

これで例えばテキスト2が「4月」、テキスト0が「5~6年」なら、第3引数は下記のような条件式として正しい文字列になります。
[月]='4月' And [学年]='5~6年'

2

hatena 様

いつもありがとうございます。
正常に動作できるようになりました。
難しいですが理解できるように勉強致します。