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

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

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

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

Access

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

Q&A

解決済

1回答

3162閲覧

Access 複数の取引先の締め日、支払日の表示方法

tkyk.

総合スコア20

VBA

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

Access

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

0グッド

0クリップ

投稿2020/04/23 05:38

編集2020/04/23 11:23

お世話になります。
支払日及び回収日の表示について質問があります。
売上仕入明細テーブルに売上日と仕入日のフィールドがあります。
その売上日と仕入日から取引先毎の締め日及び回収日、支払日を表示させ最終的に収支をプラスマイナス〇〇日という感じで表示させたいです。※画像1枚目

得意先マスタテーブルと仕入先マスタテーブルの回収サイクル、支払サイクルは以下になります。
【例】131=翌月末    215=翌々月15日

イメージ説明
イメージ説明
イメージ説明

分かりにくい説明かと思いますが宜しくお願い致します。

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

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

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

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

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

hatena19

2020/04/23 05:49

下記の情報を追記してください。 関係するテーブル名とそのテーブルのフィールド構成、主キー設定 締め日の仕様 (月末締とか20日締・・・・、また、固定なのか取引先ごとに異なるのかなど) 支払日と回収日の定義 各テーブルのデータ例、最終的に欲しい出力例
hatena19

2020/04/23 11:27

締日 30 は月末締 ということではなく常に30日(月末が31日でも30日)ということでいいですか。2月は28日(閏年29日)ということでしょうか。
tkyk.

2020/04/23 12:20

出来れば月末締めのほうが良いのですが、難しそうだったので30としました。 月末締めが可能でしたらそのほうがありがたいです。
hatena19

2020/04/23 12:47

月末締めは 30 ではなく 0 と設定すると可能になります。その場合の式を回答します。
guest

回答1

0

ベストアンサー

締め日フィールドは下記のように入力します。
15日締  15
20日締  20
月末締め 0

締日はクエリのフィールド欄に下記の式を設定します。

text

1売上締日: IIf(IsDate([売上日]),DateSerial(Year([売上日]),Month([売上日])-(Day([売上日])>[締め日]),[締め日]),Null)

回収サイクルのフィールドは下記のように入力します。

翌月15日  115
翌月末   200
翌々月15日 215
翌々月末  300

クエリのフィールド欄に下記の式を設定します。

text

1回収日: IIf(IsDate([売上締日]),DateSerial(Year([売上締日]),Month([売上締日])+([回収サイクル]\100)-1-(Day([回収サイクル] Mod 100)>0),[回収サイクル] Mod 100),Null)

以上でどうでしょうか。

仕入締日 と 支払日も同様の考え方でできると思います。

投稿2020/04/23 12:48

編集2020/04/25 09:49
hatena19

総合スコア33715

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

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

tkyk.

2020/04/23 12:55

hatenaさん いつも詳しいご説明ありがとうございます! 教えていただいたやり方で今週末試してみます。 またご報告させていただきます。
tkyk.

2020/04/24 15:18

hatenaさん バッチリうまく行きました! ありがとうございます!!!
tkyk.

2020/04/25 03:41

hatenaさん 度々すみません。 実は上記のテーブルの「売上日」と「仕入日」に空白のレコードいくつかありクエリで「回収日」と「支払日」を表示させたところ空白のレコードが「#エラー」となります。 この「#エラー」を0や非表示にするやり方はありますでしょうか?
hatena19

2020/04/25 09:50

回答の方を[売上日]未入力の場合でもエラーにならないものに修正しておきましたので、参照してください。
tkyk.

2020/04/25 11:49

hatenaさん 無事エラー非表示になり思い通りの表示になりました。 本当にいつもありがとうございます。 助かりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問