• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESSフォームの最小値を取得したい(再度))

ACCESSフォームの最小値を取得する方法

このQ&Aのポイント
  • Access2013, Win7環境でのACCESSフォームの最小値取得方法について教えてください。
  • F_旅行フォームにF_確認フォームのフィールドである[確認日]の最小値を表示させたいのですが、正しいコントロールソースの記述方法がわかりません。
  • 色々試してみましたがうまくいかず、助けが必要です。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

添付図のよーなエラーが発生する原因は2つ。 1、DBLookup()を標準モジュールに追加していない。 2、& [ID] & の[ID]が存在しない。[旅行ID]などと命名している。 対策: 1、イミディエイトウインドウでのテストに成功する。 2、そのテスト結果を受けてフォームに組み込む。 私は、この手順を経た上で回答していますよ。 PS、DBLookup()ではなくてDLookup()、DMin()を利用する。 その場合、実行におよそ3倍の時間がかかります。まあ、1000分の何秒の差ですが・・・。

southbreeze
質問者

補足

f_a_007様 ご回答くださり、ありがとうございました。 ・ご指摘のように「標準モジュール」が入っていないためでした。 ・標準モジュールを追加して =DBLookup("SELECT Min(確認期限) FROM 確認 WHERE 旅行ID=" & [旅行ID] & " AND LEN(確認日 & """")=0") のように記述すると、意図した結果を得ることができました。 本当に、ありがとうございました。感謝申し上げます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

 質問者は、DBLookup()を利用して一度もSQL文のテストをしていないのかな?仮にアタックしたとすれば、次のような結果を得た筈。 【SQL文1】逆順のトップの値を求める ? DBlookup("SELECT TOP 1 確認期限 FROM F_確認 WHERE F_旅行_ID=1 AND LEN(確認日 & """")=0 ORDER BY 確認日 DESC") 2017/06/01 【SQL文2】該当するレコードでの最小値を求める ? DBlookup("SELECT Min(確認期限) FROM F_確認 WHERE F_旅行_ID=1 AND LEN(確認日 & """")=0") 2017/06/01  このテストさえ行えば、該当するSQL文は二つあることに気付く。で、添付図のような結果を欲しているのであれば・・・ =DBLookup("SELECT Min(確認期限) FROM F_確認 WHERE F_旅行_ID=" & [ID] & " AND LEN(確認日 & """")=0") と、そのまんまSQL文を実行するDBLookup()を書くだけですよ。

southbreeze
質問者

補足

f_a_007様 度々のご回答、誠にありがとうございます。お教えいただきました通り、自分の Form に当てはめて =DBLookup("SELECT Min(確認期限) FROM 確認 WHERE 旅行ID=" & [ID] & " AND LEN(確認日 & """")=0") と、記述いたしましたところ、 #Name? のエラーが出ます。 どうしてでしょう?どこか、名前が違うということらしいのですが、ちょっといじってみましたが解決できません。 

すると、全ての回答が全文表示されます。

関連するQ&A