• 締切済み

ACCESSにて前年同日実績を確認するフォーム

たびたびわからないときに閲覧させて頂いております。 今回、どうしてもわからないことがあり 皆さまのお知恵を拝借させて頂ければと思い 質問を書き込みさせて頂きます。 ACCESS2016にて フォーム上にてコンボボックスにて年月を選択すると その月の当年と前年をレポートのリストとして出力して確認する。 というのを作ろうとしております。 そこで前年実績を抽出するクエリ・当年実績を抽出するクエリを作り それらを合体させてリスト化するクエリを作成。 フォームの詳細へと合体するクエリを「帳票リスト」にて流し込む形を考えているのですが うまくできません。 2つのクエリを連結させた段階で 帳票リストが機能しなくなり、リストを生成することができません。 よろしくお願いいたします。

みんなの回答

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.6

回答No.5のVBA部分の画像を添付します

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.5

おはようございます 回答No.1と少し違いますがAccessでの仕組みを作成しました。 ★先ず個々に当年の月別集計、昨年の月別集計のクエリを作成し T_履歴 ・ID 主キー、オートナンバー型 ・日付 日付/時刻型 ・金額 このT_履歴をレコードソースとしたクエリの  抽出条件に   「>=[forms]![メニュー]![前年期初日] And <=[forms]![メニュー]![前年期末日]」  Q_前年履歴 このT_履歴をレコードソースとしたクエリに  抽出条件に  「>=[forms]![メニュー]![当年期初日] And <=[forms]![メニュー]![当年期末日]」  Q_当年履歴 尚 年、前年期初日、前年期末日、当年期初日、当年期末日の5つのテキストボックス  空のフォームに配置して以下の命令文により   T_月計(月、前年月計、当年月計):月は主キー   T_中間(月、金額):月は主キー  T_月計の月には1~12の12レコードを入力しておく --------------------------------------------------------------------- VBA部分が赤の波線のアンダーラインが付いて、先へ進めませんので次の回答で画像として添付します

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.4

回答No.1をExcelで実現しました。 前回は考え方のみですが、シリアル値はExcelも同じです Excelで処理すると添付のようになります。 昨年月と当年月の列を追加しました 添付の表示は日付まで表示されていますが、実際は表示書式で年月のみとします 年度を合わせるため年に1を加えるための式です 昨年月の式はB2=A2-DAY(A2)+1+370-DAY(A2-DAY(A2)+370)  年度を合わせるため年に1を加えるための式です。  これで閏年にも問題ありません  当年月の式はD2=D2-DAY(D2)+1 このように式をセルに入れますが クエリのフィールドに 昨年月:昨年日付-DAY(昨年日付)+1+370-DAY(昨年日付-DAY(昨年日付)+370) 当年月:当年日付-DAY(当年日付)+1

higuchiika
質問者

お礼

chayamati様 わざわざEXCELにて作って頂いてありがとうございます。 参考にさせて頂きます。

  • kkkkkm
  • ベストアンサー率66% (1725/2595)
回答No.3

あと > そこで前年実績を抽出するクエリ・当年実績を抽出するクエリを作り たとえば、ふたつ作らずに抽出条件を「または」で設定して両方一度にひとつのクエリにするのは駄目なのでしょうか。

higuchiika
質問者

お礼

kkkkkm様 回答お寄せ頂きましてありがとうございます。 たしかに「または」を使っての抽出については検討しておりませんでした。 できるかどうか、試してみたいと思います。

  • kkkkkm
  • ベストアンサー率66% (1725/2595)
回答No.2

> そこで前年実績を抽出するクエリ・当年実績を抽出するクエリを作り > それらを合体させてリスト化するクエリを作成。 前年実績を抽出するクエリ・当年実績を抽出するクエリ、を合体させずにそれぞれをサブレポート(サブフォーム)にして表示するというのは駄目なのでしょうか。

higuchiika
質問者

お礼

kkkkkm様 回答お寄せ頂きましてありがとうございます。 サブレポート・サブレポートについては「次善策」として検討させて頂いております。 現状ではそれが一番良い方策だと考えているところです。

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.1

今日は、考え方だけですが シリアル値はご存知ですね 日付-day(日付)は前月末日 この前月末日+1は月初日 月初日を月と考えれば当年の月別集計は出来ますね 昨年の月別集計は 日付+370-day(日付+370)+1昨年の月別集計ですね 先ず個々に当年の月別集計、昨年の月別集計のクエリを作成し この2つのクエリを合体させます 追伸  記述中の370は閏年も考えて366以上の近い日数あればよいです

関連するQ&A