- ベストアンサー
vbaのDLookupの戻り値が0になる。アクセス
実際の値は、1,293,237なのに、DLookupの戻り値が0になります。 名 = "あああ" 最新の取引日 = DMax("[取引日]", "T明細", "[名] = '" & 名 & "'") 残高 = DLookup("[残高]", "T明細", "[取引日] = #" & 最新の取引日 & "#") のようなコードを実行すると必ず0が返ります。 何も該当するものがないと0が返るのでしょうか? フィールド名等が間違っていれば、エラーになりますよね?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Oが返ってくる状況を確認してみると、 たとえば、2012/12/12に"あああ"以外に "ててて"という名前が登録されていて、 その残高が0の場合に0が返ってくる くるようではありますが。 >最新の取引日 = DMax("[取引日]", "T明細", "[名] = '" & 名 & "'") これで返ってくるのはただの[取引日] >残高 = DLookup("[残高]", "T明細", "[取引日] = #" & 最新の取引日 & "#") これで戻ってくるのは指定された取引日で、複数のレコードが あるならば適当なデータを引っ張ってきます。 たぶん、求めたいデータがその日の"あああ"のデータ ということならば、 DLookup("[残高]", "T明細", "[取引日] = #" & 最新の取引日 & "# And [名] = '" & 名 & "'") のように複数条件をDLookupに設定する必要があります。
お礼
ありがとうございました。