- ベストアンサー
Access DLookup関数で複数条件の記述
とても困っているので、どなたか教えて下さい! 今AccessでDLookup関数を使ってフィールドの値を取り出そうとしているのですが、 色んなエラーメッセージが出て先に進めません。 ★値を取り出そうとしているテーブル★ ■顧客台帳 ・顧客ID(オートナンバ) ・顧客氏名(テキスト型) ・生年月日(日付・時刻型) 以下略 ここから DLookup("顧客ID", "01顧客管理台帳", "顧客氏名 = " & Chr(34) & Me.Txt顧客氏名 & Chr(34) And "生年月日 = " & Me.Txt生年月日) 補足:Me.Txt顧客氏名(書式なし) Me.Txt生年月日(日付(S)定型入力9999/99/99) は、事前に入力されているものとします。 という式を使って、入力した顧客氏名と生年月日に一致する顧客IDを取り出したいのですが、 「型が違います」というエラーが出てしまいます。 条件式に[ ]等をつけてみても、「指定した式で参照されている'|'フィールドが見つかりません」 という様なエラーが出てしまいます。 条件の部分が間違っていると思うのですが、この式、またはやり方の問題点がお分かりになる方がおられましたら、ご指摘の方よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
DLookup("顧客ID", "01顧客管理台帳", "顧客氏名 = '" & Me.Txt顧客氏名 & "' And 生年月日 = #" & Me.Txt生年月日 & "#") だと思います。 あと、顧客台帳のテーブル名は"01顧客管理台帳"になっていますか?
その他の回答 (3)
- Azzuri
- ベストアンサー率68% (34/50)
度々すみません。 DLookup("顧客ID", "01顧客管理台帳", "顧客氏名 = " & Me.Txt顧客氏名 & " And 生年月日 = #" & Me.Txt生年月日 & "#")
お礼
お早いご回答ありがとうございました!! 訂正も入れて頂いて、親切なご回答参考にさせて頂きました。 残念ながら、「顧客氏名=」の後の「'」が抜けていたため、ポイントは次点割り振りとさせて頂きました。しかし、それだけ急いでご回答頂いたのだと感謝いたしております。 そして、何も分からなかった時に、ご丁寧な助言頂けた事を大変嬉しく思っております!本当にありがとうございました☆
- Azzuri
- ベストアンサー率68% (34/50)
#1です。 すみません。少し間違えました。 DLookup("顧客ID", "01顧客管理台帳", "顧客氏名 = " & Me.Txt顧客氏名 " And 生年月日 = #" & Me.Txt生年月日 & "#")
- Azzuri
- ベストアンサー率68% (34/50)
DLookup("顧客ID", "01顧客管理台帳", "顧客氏名 = " & Me.Txt顧客氏名 " And 生年月日 = #" & Me.Txt生年月日) & "#" 上記の記述ではどうですか。
お礼
お忙しい中、ご回答ありがとうございました。 提示して頂いたコードをコピペいたしまして、 見事顧客目当ての顧客IDを取得することが出来ました!! 本っ当~に助かりました、感謝です! どうもありがとうございました★