• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DSum 検索する値がないなら)

Nullの使い方が不正です。エラーを回避するためのコードを教えてください。

このQ&Aのポイント
  • Access VBAのコードで、テーブル1の計上日フィールドが特定の日付であるレコードの合計値を取得しようとしています。
  • しかし、計上日フィールドに指定した日付のレコードが存在しない場合、エラーが発生します。
  • このエラーを回避するためには、テーブル1に指定した日付のレコードが存在するかどうかを事前に確認し、条件分岐を行う必要があります。

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

  • ベストアンサー
回答No.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

kehadmihq
質問者

お礼

ご回答ありがとうございます。

その他の回答 (1)

回答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

kehadmihq
質問者

お礼

ご回答ありがとうございます。

関連するQ&A