• 締切済み

Access DlookUpのネスト

Access 2010 です。 コントロールソースでの利用を想定しています。 DlookUpでDlookUpの結果を条件にネストする場合 =DLookUp("外フィールド1","外テーブル","[外フィールド2]=DLookUp(内フィールド,'内テーブル','rs('内フラグ')=Yes')") の様な利用の仕方をしたいのですが#エラーになってしまいます。 検索条件の =DLookUp(内フィールド,'内テーブル','rs('内フラグ')=Yes')") 単体では正しく取得出来ているので、 ネストする際のクォーテーション絡みなどで正しく値が取得できていないのでは と考えておりますが、正しくはどう記述するべきでしょうか?

みんなの回答

回答No.1

Q、正しくはどう記述するべきでしょうか? A、考えすぎ+誤解=今回のミス ポイント1、いつものように当たり前に書く! ポイント2、ただし、ブール値は文字列ではないことに注意する! でOKですよ。(添付図を参照されたし)

popepon
質問者

お礼

御回答頂き有難う御座います。 回答者さんの例をみると第三引数の"ID="は文字列ではないでしょうか? 質問の方は "[外フィールド2]=DLookUp(内フィールド,'内テーブル','rs('内フラグ')=Yes')" とあるように式評価です。True(戻り値)を期待しています。 結果的には "[外フィールド2]=DLookUp('内フィールド','内テーブル','内フラグ=Yes')" で解決しました。ダブル内のダブルやクォーテーション無しだとエラーになるはずです あと内フラグはフィールド名なのでそもそもrs('内フラグ')が誤りでした

関連するQ&A

専門家に質問してみよう