Accessにて前日のデータを表示するクエリ式についてお教えください。 クエリにて今日の売上とは別に、昨日の売上を表示させるフィールドを追加しました。
Accessにて前日のデータを表示するクエリ式についてお教えください。 クエリにて今日の売上とは別に、昨日の売上を表示させるフィールドを追加しました。 追加したフィールドのクエリ式は以下のとおりです。 昨日の売上: Val(DLookUp("売上","テーブル1","日付 = #" & DMax("日付","テーブル1","日付<#" & [日付] & "#") & "#")) 上記式を元にして、別のクエリで売上の平均値などを取りたいのですが 実行すると 「クエリ式 '日付 = #' の日付の構文エラー」 とのエラーが出てしまいます。 「 ' (シングルクォーテーション)が足らないせいかな?」と推測しているのですが だとしても、どこに追記すべきか分かりません。 VBAを勉強中でSQLの勉強は後回しにしており、調べても有用な情報がなかったためこちらで伺うことにしました。 お分かりのかた、どうぞご教示いただけますと幸いです。 ※Accessのクエリを作る際、度々「一つ前のデータ」を活用する場面があります。そのたびに「 " (ダブルクオーテーション)」、「 # (シャープ)」、「 ' (シングルクォーテーション)」、「 & (アンド)」の扱いで苦労します。これはSQLを勉強しないと理解できないものなのでしょうか?
Microsoft Access | SQL Server・97閲覧・50
ベストアンサー
↓これの 昨日の売上: Val(DLookUp("売上","テーブル1","日付 = #" & DMax("日付","テーブル1","日付<#" & [日付] & "#") & "#")) [日付] か DMax("日付","テーブル1","日付<#" & [日付] & "#") が【日付】とみなされる書式に伴っていない値になってるからのエラーだと思います。 <<<特に Null値 の場合>>> まずは、クエリのフィールドに 日付1 : [日付] 日付2 : DMax("日付","テーブル1","日付<#" & [日付] & "#") とかして、どんな答えが返ってきてるのか確かめるのが デバッグとしての1つの手法です。
1人がナイス!しています
>【日付】とみなされる書式に伴っていない値になってるからのエラーだと思います。 ありがとうございます。 なるほどですね。 ちょっと色々試してデバッグを試みます。
質問者からのお礼コメント
お返事遅れまして申し訳ありません。 文字数制限のため詳細は省きますが、アドバイスのとおり、当該コードを実行することで一番上のレコードがNullとなるのが原因でした。 Nullの場合は0とすることでエラーを回避できました。 このたびは貴重なアドバイスありがとうございました!
お礼日時:5/8 18:33