このエントリーをはてなブックマークに追加

売上日計表を累計額で表示する。 (DSum関数,Access2010)

こちらは、ある月の1ヶ月間の売上額の日計表と、その月の前年同月の売上額の日計表を並べてひとつのテーブルに表示したものです。このテーブルは、別のテーブルにある元データから期間を抽出して、新たにテーブルを作成したものです。こちらのページで、このテーブルを作った過程の詳細を載せています。

テーブル

累計表示作成の流れ

  1. DSum関数で累計表示に。
  2. CCur関数で通貨型に変換。
  3. 更新クエリでNull値に「0」を入れる。

DSum関数で累計表示に。

ここからは、この売上一覧表を日計累計表示にして、売上の前年同月比をレポートに表示するようにしていきます。ではまず、このテーブルをもとに、選択クエリを作ります。

  1. リボンの「作成」タブから「クエリデザイン」を開きます。
  2. 上の画像のテーブル「T_売上A」のフィールドリストを表示します。
  3. 「前年日付」フィールドをデザイングリッドに追加します。
  4. 隣のフィールド名の欄にDSum関数を使って、次のように入力します。
    前年売上累計:DSum(“前年売上”,”T_売上A”,”日<=” & [T_売上A].[日])

    クエリデザイン

  5. 「前年売上累計」フィールドの次に「当月日付」フィールドを追加します。
  6. その隣のフィールド名の欄にDSum関数を使って、次のように入力します。
    当月売上累計:DSum(“当月売上”,”T_売上A”,”日<=” & [T_売上A].[日])
  7. 最後に「日」フィールドを追加して、「並べ替え」を「昇順」に指定します。

クエリデザイン

ここで、クエリを実行するとこのように表示されます。行の上から順に売上額は累計表示になりましたが、金額が左詰めとなり、「¥」記号と桁区切りのカンマが無くなってしまいます。これは、DSum関数の戻り値が文字列で返っているためです。

クエリ

CCur関数で通貨型に変換。

ですので、ここで、次のようにDSum関数全体をCCur関数で括ってあげます。

前年売上累計:CCur(DSum(“前年売上”,”T_売上A”,”日<=” & [T_売上A].[日]))

当月売上累計:CCur(DSum(“当月売上”,”T_売上A”,”日<=” & [T_売上A].[日]))

この状態で再度クエリを実行すると次のようになり、「左詰め」、「¥」記号、「桁区切りカンマ」は問題なく表示されましたが、今度は、「前年売上累計」の一番上の行が「#エラー」表示となります。これは、データの無い箇所(Null値)を変換しようとした為にエラーとなったので、DSum関数で累計表示をとる前にNull値の箇所は更新クエリで「0」の値を入れておくようにします。

クエリ

更新クエリでNull値に「0」を入れる。

ではいちど、テーブル「T_売上A」に戻って、Null値を「0」に変更する更新クエリを作ります。テーブル「T_売上A」から、「前年売上」フィールドを追加します。クエリの種類を、「選択クエリ」から「更新クエリ」に変更します。「抽出条件」に「Is Null」と入力し、「レコードの更新」に「0」と入力します。名前を付けて保存します。ここでは、「Q_ruikei9」としておきます。同様に、もう一つ、「当月売上」フィールドの更新クエリも別に作り、名前を「Q_ruikei10」としておきます。

クエリデザイン

この二つの更新クエリを実行したうえで、CCur関数を実行すれば、「#エラー」と表示された箇所は、「¥0」と表示されるようになります。

クエリ

このエントリーをはてなブックマークに追加

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントフィード

トラックバックURL : http://gyoumuka.work/wp-trackback.php?p=1979

PAGE TOPへ戻る