Microsoft Access 掲示板

【Dlookup】 2つの条件で1つしか一致しない場合

5 コメント
views
4 フォロー

お世話になります。

クエリ内フィールドに下記、Dlookupの式を入力しています。
OP料金3: DLookUp("OP料金料金2","ALL OP料金","OP料金OPCD='" & [OP料金OPCD] & "'" & " and OP料金Age=" & [OP料金Age])

別テーブルから2つの条件を引いており、2つの条件を満たす場合は料金表から料金が表示されますが、
1つしか一致しない場合は、”#エラー”が表示されてしまいます。

1つしか一致しない場合は空白を返したいのですが、VBAを使用せずに表示することは可能でしょうか?

HIRO
作成: 2024/06/20 (木) 12:18:33
通報 ...
1

失礼しました。
カンマの位置等を変えた結果、無事空白が返されました↓
DLookUp("OP料金料金2","ALL OP料金","OP料金OPCD='" & [OP料金OPCD] & "'And OP料金Age='" & [OP料金Age] & "'")

コレを踏まえて、Ccur関数で、通貨表示をしようと思ったのです(↓の式)が、空白部分で、”#エラー”表示が出てしまい、
空白の場合、空白で返す式をご教示いただけますと幸いです。

Ccur(DLookUp("OP料金料金2","ALL OP料金","OP料金OPCD='" & [OP料金OPCD] & "'And OP料金Age='" & [OP料金Age] & "'"))

2
hiroton 2024/06/20 (木) 13:48:24 e8d59@f966d

通貨表示をしようと思った

のなら、書式設定で表示を変えればいいと思いますが、Ccur関数を使う必要はありますか?

3

回答有難うございます。
Dlookupで引いてくる”金額”はテーブル上、”通貨”の設定なのですが、クエリに表示される数字は”通貨”の表示ではなくなり、Ccur関数で”¥”表示にしている次第です。

コレを踏まえて、対策があれば、ご教示いただけますと幸いです。

4
hiroton 2024/06/20 (木) 15:20:03 e8d59@f966d >> 2

ちょっと試してみたけどDSum関数でも数値と認識してくれないんですねぇ
無理やり数値と認識させればいいだけなので「+0」してやればよさそうでした

DLookUp((略))+0

これで

  • レコードが無いときはNull+0Nullのまま
  • 数値と認識してくれる
  • クエリのフィールドプロパティで書式→通貨を設定してあげれば反映される

となりました

5

回答有難うございます。

なるほど、大変勉強になり大変助かりました。
有難うございました。