Microsoft Access 掲示板

スケジュール表について

2 コメント
views
4 フォロー

以下のようなテーブルからフォーム作成しデータを入力。日程1、2・・・はテキストボックスを想定してます。
そのデータから、下のクエリのように(クロス集計?)、該当する日にちのところに印を表示させることは可能でしょうか。最終的にレポートで表示したいと考えています。
クエリの見出しに1,2,3・・・で30くらいまで出来たらいいのかなと。
日にちは年月日ではなく、数字での入力予定です。適当な年月日からddで日にちだけ抽出するでもよいです。
お手数をおかけしますがよろしくお願いいたします。

T_予定表(作業日をテキストボックスに入力)

工程日程1日程2日程3日程4日程5
作業112345
作業2135

Q_予定表

工程12345678
作業111111
作業2111
tarou
作成: 2022/04/18 (月) 13:16:04
最終更新: 2022/04/18 (月) 15:36:34
通報 ...
1

まずテーブルがデータベース的な設計になってません。
「正規化」すべきです。具体的には下記のようなテーブル設計にします。

T_予定表

行程日付
作業12022/4/1
作業12022/4/2
作業12022/4/3
作業12022/4/4
作業12022/4/5
作業12022/4/6
作業22022/4/1
作業32022/4/3
作業42022/4/5

このようなテーブルならクロス集計クエリでご希望の形に簡単に変換できます。クロス集計ウィザードでやってみてください。

このようなテーブルでは入力しにくいという場合は、フォームの設計を工夫して入力しやすいようにします。
メインサブフォーム形式にする場合が多いですね。

あるいは入力用に提示のテーブルを作成しておいて、それでフォームを作成し入力してVBAで上記の正規化されたテーブルに転記するという設計にしてもいいでしょう。

2
tarou 2022/04/18 (月) 16:39:29 40166@7cc49

hatena 様

ありがとうございます。
やはりおっしゃるようなテーブルである必要がありますか。
提示していただいたテーブルでなら進めれそうだったのですが、入力時に横方向に入力したいなと思っており悩んでました。

フォームの設計もしくはvbaでのコピペか、悩んでみます。
お忙しいところ相談乗っていただき、ありがとうございました。