- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DSum 検索する値がないなら)
Nullの使い方が不正です。エラーを回避するためのコードを教えてください。
このQ&Aのポイント
- Access VBAのコードで、テーブル1の計上日フィールドが特定の日付であるレコードの合計値を取得しようとしています。
- しかし、計上日フィールドに指定した日付のレコードが存在しない場合、エラーが発生します。
- このエラーを回避するためには、テーブル1に指定した日付のレコードが存在するかどうかを事前に確認し、条件分岐を行う必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
【補足】条件分岐サンプル Option Compare Database Option Explicit Private Sub コマンド0_Click() Dim I As Integer I = Nz(DSum("ID", "テーブル1", "ID>4"), 0) If I Then MsgBox "I=" & I Else MsgBox "該当するレコードはありません。" End If End Sub Private Sub コマンド1_Click() Dim I As Integer I = Val(DSum("ID", "テーブル1", "ID>4") & "") If I Then MsgBox "I=" & I Else MsgBox "該当するレコードはありません。" End If End Sub
その他の回答 (1)
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
回答No.1
添付図を参照されたし。 対策1、Val()関数でNullを0に置換。 対策2、Nz()関数でNullを0に置換。 一般的なのは Nz()かと思います。 https://support.office.microsoft.com/ja-jp/article/Nz-%e9%96%a2%e6%95%b0-8ef85549-cc9c-438b-860a-7fd9f4c69b6c?CorrelationId=3490874d-9584-4e4c-a0d0-f52cf4aaf22f&ui=ja-JP&rs=ja-JP&ad=JP
質問者
お礼
ご回答ありがとうございます。
お礼
ご回答ありがとうございます。