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

テキストボックスの日付から、1年前の日付を取得する。(DateAdd関数,Access2010)

フォームに配置してあるテキストボックスに期間を指定する最初と最後の日付を入力し、「前年同月日付」ボタンをクリックしたら、その日付をもとに1年前の日付を取得して、フォーム下段のテキストボックスに表示できるようにします。そのあと、「前年売上」と「当月売上」を並べたテーブルを作成し、レポート「前年同月比売上累計表」を作成します。

フォーム

前年同月比売上累計表作成の流れ

  1. 1年前の日付を取得する。
  2. テーブルを作成するVBAコードの記述。
  3. 前年同月比売上累計レポートの作成。

1年前の日付を取得する。

その方法ですが、「DateAdd関数」を使って、それを「コマンドボタン」の「クリック時イベント」にVBAコードを記述します。

フォームデザイン

そして、「前年同月日付」ボタンをクリックしますと下段のテキストボックスに一年前の日付が表示されます。

フォーム

テーブルを作成するVBAコードの記述。

では、1年前の日付を取得する方法を利用して、当月1ヶ月間の売上額と前年同月の1ヶ月間の売上額をデータから抽出して、日付毎にひとつのテーブルに並べて表示し、それを日計累計表示にしたものを作成します。このテーブルを作る過程を

当月と前年同月の売上額をテーブルに並べて表示する。

売上日計表を累計額で表示する。

のページに載せています。このテーブルを作成するコードを、先程の「DateAdd関数」を書いたコードの続きに記述します。

テーブル

前年同月比売上累計レポートの作成。

このテーブルをレコードソースとするレポートを作成し、売上額の前年同月比の金額も表示させるようにします。レポートヘッダー部分の左上はテキストボックスです。フォーム上の当月の最後の日付を入力しているテキストボックスの値を表示させています。このレポート上のテキストボックスのコントロールソースに、

=Forms![フォーム名]![テキストボックス名]

と入力します。レポートヘッダー部分のその他のコントロールはすべてラベルコントロールです。次に、「詳細」部分はすべてテキストボックスを配置し、コントロールソースは左から、テーブルのフィールドの「前年日付」、「前年売上累計」、「当月日付」、「当月売上累計」とし、一番右側のテキストボックスには、前年同月比売上額を表示するので、

=[当月売上累計のテキストボックス名]-[前年売上累計のテキストボックス名]

と入力しておきます。

レポートデザイン

では、「前年同月日付」ボタンクリック時イベントの最後に、このレポートを開くコードを書きます。

DoCmd.OpenReport “レポート名”,acViewPreview

この最後の引数、acViewPreviewを指定することで、レポートを印刷プレビューで開くことができます。

VBA

フォームの「前年日付」のテキストボックスは、フォームの水面下で作動させるので、表面上は「書式」タブの「可視」を「いいえ」にしておきます。コマンドボタンの「標題」は、「前年同月比売上累計」と変更しました。

フォーム

コマンドボタンをクリックすると、「前年同月比売上累計」レポートが印刷プレビュー表示で開きます。レポート

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

コメントを残す

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

コメントフィード

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

PAGE TOPへ戻る