• 締切済み

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と資格名を入れることで レコードが  追加される といった処理をさせたいと思っています。 お力添えいただけないでしょうか? 宜しくお願い致します。

みんなの回答

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.1

問題点を把握しきれませんので、回答じゃありません。 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   ←追加される   ・        ・        ・       ・

vesper580109
質問者

お礼

chayamatiさん ご回答ありがとうございます。更新クエリ、追加クエリを組み合わせ、なんとか得たい結果が出せました。資格→資格級若しくは総合職2級とか、一般に通じる表現で質問する必要があるな・・と勉強になりました。 ありがとうございました。

関連するQ&A