以下のようなテーブルからフォーム作成しデータを入力。日程1、2・・・はテキストボックスを想定してます。
そのデータから、下のクエリのように(クロス集計?)、該当する日にちのところに印を表示させることは可能でしょうか。最終的にレポートで表示したいと考えています。
クエリの見出しに1,2,3・・・で30くらいまで出来たらいいのかなと。
日にちは年月日ではなく、数字での入力予定です。適当な年月日からddで日にちだけ抽出するでもよいです。
お手数をおかけしますがよろしくお願いいたします。
T_予定表(作業日をテキストボックスに入力)
工程 | 日程1 | 日程2 | 日程3 | 日程4 | 日程5 |
---|---|---|---|---|---|
作業1 | 1 | 2 | 3 | 4 | 5 |
作業2 | 1 | 3 | 5 |
Q_予定表
工程 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
作業1 | 1 | 1 | 1 | 1 | 1 | |||
作業2 | 1 | 1 | 1 |
まずテーブルがデータベース的な設計になってません。
「正規化」すべきです。具体的には下記のようなテーブル設計にします。
T_予定表
このようなテーブルならクロス集計クエリでご希望の形に簡単に変換できます。クロス集計ウィザードでやってみてください。
このようなテーブルでは入力しにくいという場合は、フォームの設計を工夫して入力しやすいようにします。
メインサブフォーム形式にする場合が多いですね。
あるいは入力用に提示のテーブルを作成しておいて、それでフォームを作成し入力してVBAで上記の正規化されたテーブルに転記するという設計にしてもいいでしょう。
hatena 様
ありがとうございます。
やはりおっしゃるようなテーブルである必要がありますか。
提示していただいたテーブルでなら進めれそうだったのですが、入力時に横方向に入力したいなと思っており悩んでました。
フォームの設計もしくはvbaでのコピペか、悩んでみます。
お忙しいところ相談乗っていただき、ありがとうございました。