ご教授お願い致します。
今Accessで右の画像の表を作成しています。右の画像はExcelなのですが、色々変更しないといけないので、Accessで作ろうと思いました。
毎月のデータは勤怠システムからCSV出力して、リンクテーブルと更新クエリ、クロス集計で左の画像まで出来たのですが、ここからレポートを作成する時に今あるデータでレポートのレイアウトを作成し、翌月には新しいフィールドが追加されるので、またレポートのレイアウトという感じになってしまいます。
やりたいこととしては、最初に右の表を作成しておき、条件が一致(月が一致したら)したその月の時間が入力されるというような処理がしたいです。
レポートの作成方法でも、VBAでも作成できるなら挑戦したいので、よろしくお願いいたします
このような大雑把な説明では、回答しづらいです。
まず、勤怠システムから出力されるCSVのフォーマットを説明してください。
数行のサンプルを提示してもらえるとなおいいです。氏名などの情報はマスキングしておいてください。
それをアクセスのテーブルに取り込むことになると思いますが、現状のテーブルのフィールド構成を提示してください。
「翌月には新しいフィールドが追加されるので、」とのことですが、データベースではこのような設計にはしないので、テーブル設計から変更する必要があると思われます。
「その月の時間が入力される」とは具体的にどのようなことでしょうか。
条件はどこから取得するのかとか、どのようなデータをどこに入力するのかとか、あいまいすぎてイメージが湧きません。
まずは、CSVデータと、現状のテーブル設計の説明をお願いします。
画像の解像度が低いので詳細が読み取れないので推測ですが、ご希望のことは下記のようなことでしょうか。
画像の左は集計クエリで縦に並んでいる。
それをクロス集計クエリで画像の右のように横に展開するようにする。
年月フィールドが毎年変わるので、それをレポートにする場合、作り直しになるのを、なんとかしたい。
だとしたら、下記のリンク先が参考になると思います。フォームになってますが、レポートでもそのまま応用できます。
列名が変化するクロス集計クエリと連結するフォーム - hatena chips