- 締切済み
Access データの年度更新について
いつも大変お世話なっております。Accessを始めて2週間の初心者です。 今、テーブルにレコードを追加していき、下記のような処理を行いたいのですが どのように構築したらいいのかわかりません。質問の仕方もうまくないので恐縮です。 どのようにというのは、例えばクエリの作り方もそうですし、クエリのためのテーブルを 作らなければ実現できない・・等、イメージが沸きません。 社員コード(社員CD)と資格名の過去の履歴のテーブル(TBL_資格期間一覧)があります。 社員No(社員数)は数百、また資格名の過去履歴は各社員によって異なるのでレコード数 は個々に異なります。 社員CD 期間開始 期間終了 資格名 001234 2004/07/01 2008/03/31 S4 001234 2009/04/01 2016/03/31 S3 001234 2016/04/01 2017/03/31 S2 056789 2010/04/01 2012/03/31 T6 056789 2012/04/01 2014/03/31 T5 056789 2014/04/01 2015/03/31 T4 056789 2015/04/01 2017/03/31 T3 ・ ・ ・ ・ 次年度、001234さんはS2からS1に昇格した場合 001234 2017/04/01 2018/03/31 S1 が追加される。 次年度、056789さんはT3のまま変わらない場合 期間終了フィールドが次年度末に更新され、2018/3/31になる。 結果、TBL_資格期間一覧を下記のようにしたいと思っています。 社員CD 期間開始 期間終了 資格名 001234 2004/07/01 2008/03/31 S4 001234 2009/04/01 2016/03/31 S3 001234 2016/04/01 2017/03/31 S2 056789 2010/04/01 2012/03/31 T6 056789 2012/04/01 2014/03/31 T5 056789 2014/04/01 2015/03/31 T4 056789 2015/04/01 2018/03/31 T3 ←更新される 001234 2017/04/01 2018/03/31 S1 ←追加される ・ ・ ・ ・ TBL_資格期間一覧を開いて、全社員分をマニュアルで日付を入力していく、レコードを追加 していくといった工数をかけられないので、 (1)資格変更のない社員は、自動で更新される (2)資格変更のある社員は、TBL_資格変更 に社員CDと資格名を入れることで レコードが 追加される といった処理をさせたいと思っています。 お力添えいただけないでしょうか? 宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- chayamati
- ベストアンサー率41% (260/624)
問題点を把握しきれませんので、回答じゃありません。 1.テーブルにレコードを追加していき _テーブルはどのようなものを想定してますか _社員テーブル(ID、社員名、社員CD、) _資格テーブル(ID、資格名、) _資格履歴テーブル(資格取得日、社員ID、資格ID、資格ランク) __ 重複登録を避けるため 資格取得日、社員ID、資格ID、資格ランクの4フィールドに主キー定義 _最新資格テーブル(資格取得日、社員ID、資格ID、資格ランク) __社員ID、資格IDの2フィールドに主キー設定 2.どのように構築したらいいのかわかりません。 どのようにというのは、例えばクエリの作り方もそうですし、クエリのためのテーブルを 作らなければ実現できない・・等、イメージが沸きません。 _先ずテーブルの構築から始めます。 3.社員コード(社員CD)と資格名の過去の履歴のテーブル(TBL_資格期間一覧)があります。 社員No(社員数)は数百、また資格名の過去履歴は各社員によって異なるのでレコード数 _資格ですよね、役職のような気がしますが。 _資格は普通期間開始ではなく取得日ではないでしょうか _また資格は多くの場合取得すると永久不滅では…期間終了は意味がない 社員CD 期間開始 期間終了 資格名 001234 2004/07/01 2008/03/31 S4 001234 2009/04/01 2016/03/31 S3 001234 2016/04/01 2017/03/31 S2 056789 2010/04/01 2012/03/31 T6 056789 2012/04/01 2014/03/31 T5 056789 2014/04/01 2015/03/31 T4 056789 2015/04/01 2017/03/31 T3 ・ ・ ・ ・ 次年度、001234さんはS2からS1に昇格した場合 001234 2017/04/01 2018/03/31 S1 が追加される。 次年度、056789さんはT3のまま変わらない場合 期間終了フィールドが次年度末に更新され、2018/3/31になる。 結果、TBL_資格期間一覧を下記のようにしたいと思っています。 社員CD 期間開始 期間終了 資格名 001234 2004/07/01 2008/03/31 S4 001234 2009/04/01 2016/03/31 S3 001234 2016/04/01 2017/03/31 S2 056789 2010/04/01 2012/03/31 T6 056789 2012/04/01 2014/03/31 T5 056789 2014/04/01 2015/03/31 T4 056789 2015/04/01 2018/03/31 T3 ←更新される 001234 2017/04/01 2018/03/31 S1 ←追加される ・ ・ ・ ・
お礼
chayamatiさん ご回答ありがとうございます。更新クエリ、追加クエリを組み合わせ、なんとか得たい結果が出せました。資格→資格級若しくは総合職2級とか、一般に通じる表現で質問する必要があるな・・と勉強になりました。 ありがとうございました。