質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

1回答

2226閲覧

【ACCESS】日付範囲を指定してグラフで表示したい。

tera_taro

総合スコア46

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2018/05/08 02:31

編集2018/05/09 02:41

前提・実現したいこと

日付の範囲を入力し検索すると、部署事の納品済みの製品がグラフで表示されるようにしたい。
現在日付から1年間の範囲を自動で取得する方法も知りたい。

良い参考などあればご教授お願いします。

発生している問題・エラーメッセージ

クエリの条件でBetween #2018/04/01# And #2019/03/31#のように設定していて毎回条件を修正するのは面倒。 データテーブルで金額を通貨型で表示できない。 データテーブルで日付を表示したいが、Apr-18のように表示されてしまう。 クエリの配置をずらしたりするとデータシートのデータが見えなくなる。

該当のグラフ

ークエリー
イメージ説明
説明: a:購買テーブル b:購買明細テーブル c:部署テーブル
KINGAKUの合計はb:購買明細にある金額の総合計の事です。
NOHIN_YMはNOHIN_DATEには年月日が元々入っているので、年月までの情報でグループ化しています。
Where条件としては納品日が記入されているBetween #2018/04/01# And #2019/03/31#の範囲で、
購買明細(b)の管理番号があるデータを条件としています。
ーフォームー
イメージ説明
ーグラフの値集合ソースー
イメージ説明
説明:クエリを参照しています。
NOHIN_YMは年月の日付、BUSHO_NAMEは部署名、
KINGAKUの合計の合計は購買明細の総合計をさらに合計したものです。
管理番号1 総合計1000
管理番号2 総合計2000
管理番号3 総合計3000
総合計の合計6000
グラフではその総合計の合計を部署事に指定した日付範囲で表示しています。

試したこと

クエリの条件に1年間のデータを取得するように

VBA

1IIf(Format$(Date$(),”mm”)=”01″ Or Format$(Date$(),”mm”)=”02″ Or Format$(Date$(),”mm”)=”03″, Format$(DateAdd(“yyyy”,-1,Date()),”yyyy”), Format$(Date$(),”yyyy”))

を入れてみたが、何も表示されない。

補足情報(FW/ツールのバージョンなど)

環境:Windows10 ACCESS2016

追記
ーテーブルー

部署テーブル
イメージ説明

購買テーブル
イメージ説明

購買明細テーブル
イメージ説明

ワーク購買明細テーブル
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mdj

2018/05/08 03:01

『部署毎の納品済みの製品』がどういう項目からどういう条件でわかるのか、などがわからないので、どこから考えたらよいのか難しいです。そのあたりも書いてください。
guest

回答1

0

ベストアンサー

会計年度は、実日より3カ月を引いたものの年で算出できます。
求めた年の4/1~翌年の3/31までの範囲とします。

SQL

1Between CDate(Format(DateAdd("m", -3, Date()), "yyyy") & "/04/01") And CDate(Format(DateAdd("m", -3, Date()), "yyyy") + 1 & "/03/31")

ですけど、年度の締めが終わってから出力しようとしても出力できなくなるので、年度をパラメータとした方が良いのではないでしょうか。

追記

NOHIN_DATEが文字型ということなので、格納される文字列の書式は'''yyyy/mm/dd'''と想定して変更しています。

SQL

1Between Format(DateAdd("m", -3, Date()), "yyyy") & "/04/01" And (Format(DateAdd("m", -3, Date()), "yyyy") + 1) & "/03/31"

追記2

納品日:
[フィールド] 日付:Format(NOHIN_YM,"yyyy/mm/dd")
金額:
[フィールド] KINGAKUの合計の合計:Format(Sum(KINGAKUの合計),"#,##0")
[集計]演算

投稿2018/05/08 03:17

編集2018/05/09 03:20
sazi

総合スコア25138

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tera_taro

2018/05/09 00:15

クエリのwhere条件に元々ある Between #2018/04/01# And #2019/03/31# を記載してくださったSQLに変更しましたが、 「抽出条件でデータ型が一致しません」言われて実行できませんでした。 年度をパラメータとは年の部分だけ条件にするという事でしょうか?
sazi

2018/05/09 00:46

>年度をパラメータとは年の部分だけ条件にするという事でしょうか? そうです。 抽出の年度を入力する、抽出条件のダイアログ画面を作成して対応などが考えられます。
tera_taro

2018/05/09 01:14

追記してもらったSQLを試してもデータ型が一致しないと言われます。 入力中の購買明細のテーブルと登録完了した購買明細のテーブルがあるのですが、 入力中の購買明細のテーブルでは日付型で、 登録完了した購買明細のテーブルでは文字型になっていたりするのが原因だったりするのでしょうか?
sazi

2018/05/09 01:32

エラーはDATE()となっていなかった為、貼り付け時に文字列に変換されるのが原因でした。 両方共修正しましたので、確認下さい。
tera_taro

2018/05/09 01:48

修正されたSQLを試した所動作確認できました。 現在日付から1年間の範囲を自動で取得する方法も知りたい。 という件に関して解決しました。 ありがとうございます!
sazi

2018/05/09 02:03

他ってこれですか? 1.クエリの条件でBetween #2018/04/01# And #2019/03/31#のように設定していて毎回条件を修正するのは面倒。 2.データテーブルで金額を通貨型で表示できない。 3.データテーブルで日付を表示したいが、Apr-18のように表示されてしまう。 4.クエリの配置をずらしたりするとデータシートのデータが見えなくなる。
tera_taro

2018/05/09 02:10

日付の範囲をテキストに入力して検索させるというやり方も今後 やる予定にはなると思いますが、まず解決したいのが 購買納品済みグラフの下部にあるデータテーブルで、 >2.データテーブルで金額を通貨型で表示できない。 >3.データテーブルで日付を表示したいが、Apr-18のように表示されてしまう。 という問題を解決したいです。
sazi

2018/05/09 02:11 編集

1.についてはコメントで提示(画面+パラメータ)しています。 2.については具体的な項目名を。(多分デザインでの書式を通貨にすれば良い) 3.については具体的な項目名を(属性は日付型?多分これも書式で解決) 4.については、スクリーンショットなどがないとどういったことなのか分かりません
tera_taro

2018/05/09 02:43 編集

>1.についてはコメントで提示(画面+パラメータ)しています。 >抽出の年度を入力する、抽出条件のダイアログ画面を作成して対応などが考えられます。 日付の範囲の自動取得が解決されたので、試しておらず、ひとまず保留にしています。 この件はまた自分で調べます。 >2.については具体的な項目名を。(多分デザインでの書式を通貨にすれば良い) グラフの値集合ソースにあるKINGAKUの合計の合計という項目という回答 で良いでしょうか? そこで書式変更して保存しても書式が元に戻ってしまいます。 >3.については具体的な項目名を(属性は日付型?多分これも書式で解決) グラフの値集合ソースにあるNOHIN_YMという項目という回答で良いでしょうか? そこでも書式変更しても元に戻ってしまいます。 >4.については、スクリーンショットなどがないとどういったことなのか分かりません 日付の範囲を修正した結果、クエリの配置をずらしても見えなくなるという 事象は解決していました。
sazi

2018/05/09 03:09

2.3.についてはグラフに表示される内容ということですか。 グラフに書式というプロパティがありました? グラフ側には書式は伝わらないので、値集合ソース内で文字列として処理する必要があります。回答に追記します。
tera_taro

2018/05/10 04:52

グラフに表示される内容で合っています。 >グラフに書式というプロパティがありました? 値集合ソースのプロパティシートの書式と、 グラフを右クリック→グラフオブジェクト→編集 →データシートの表示→書式変更したい範囲選択 →右クリック:表示形式 で書式の変更を試して いましたが、設定が保存されず困っていました。 追記されたことを実行すると日付、金額共に うまく表示されるようになりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問