締切済み

Access DlookUpのネスト

  • 困ってます
  • 質問No.9364346
  • 閲覧数326
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 56% (134/236)

Access 2010 です。
コントロールソースでの利用を想定しています。
DlookUpでDlookUpの結果を条件にネストする場合
=DLookUp("外フィールド1","外テーブル","[外フィールド2]=DLookUp(内フィールド,'内テーブル','rs('内フラグ')=Yes')")
の様な利用の仕方をしたいのですが#エラーになってしまいます。

検索条件の
=DLookUp(内フィールド,'内テーブル','rs('内フラグ')=Yes')")
単体では正しく取得出来ているので、
ネストする際のクォーテーション絡みなどで正しく値が取得できていないのでは
と考えておりますが、正しくはどう記述するべきでしょうか?

回答 (全1件)

  • 回答No.1

ベストアンサー率 20% (947/4527)

Q、正しくはどう記述するべきでしょうか?
A、考えすぎ+誤解=今回のミス

ポイント1、いつものように当たり前に書く!
ポイント2、ただし、ブール値は文字列ではないことに注意する!

でOKですよ。(添付図を参照されたし)
お礼コメント
popepon

お礼率 56% (134/236)

御回答頂き有難う御座います。
回答者さんの例をみると第三引数の"ID="は文字列ではないでしょうか?
質問の方は
"[外フィールド2]=DLookUp(内フィールド,'内テーブル','rs('内フラグ')=Yes')"
とあるように式評価です。True(戻り値)を期待しています。

結果的には
"[外フィールド2]=DLookUp('内フィールド','内テーブル','内フラグ=Yes')"
で解決しました。ダブル内のダブルやクォーテーション無しだとエラーになるはずです

あと内フラグはフィールド名なのでそもそもrs('内フラグ')が誤りでした
投稿日時 - 2017-08-23 11:04:06
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集

ピックアップ

ページ先頭へ