みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

更新クエリでの抽出条件の設定がわかりません

お世話になります。
Access2010を使っています。
今、TBL_1の社員コードの中で、期間2の日付を、TBL_2の日付フィールドの
値に置換したいです。

TBL_1はIDをオートナンバーで振っており、置換したいレコードは社員コードID値が最大の
レコード内の期間2フィールドになります。TBL_2は全社員コードはなく、社員
コードがある場合のみTBL_1の期間2を置換します。

テーブル1名:TBL_1
ID 社員コード 期間1   期間2  
1  00123   2012/6/30  2014/3/31
2  00123   2014/4/1   2015/3/31
3  00456   1995/9/15  2008/3/31
4  00789   2001/6/2  2013/3/31
 ・
10 00456   2008/4/1  2016/3/31
 ・
30 00789   2013/4/1  2015/3/31
 ・
50 00123   2015/4/1  2017/3/31
 ・

テーブル2名:TBL_2
社員コード 日付     
00123   2016/10/31 
00456   2015/5/20
上の例では結果として、
IDが10のレコードの期間2を2015/5/20に置換します。
IDが50のレコードの期間2を2016/10/31に置換します。

テーブル1名:TBL_1
ID 社員コード 期間1   期間2  
1  00123   2012/6/30  2014/3/31 ←変わらない
2  00123   2014/4/1   2015/3/31 ←変わらない
3  00456   1995/9/15  2008/3/31 ←変わらない
4  00789   2001/6/2  2013/3/31 ←変わらない
 ・
10 00456   2008/4/1  2015/5/20 ←期間2:2015/5/20に
 ・
30 00789   2013/4/1  2015/3/31 ←変わらない
 ・
50 00123   2015/4/1  2016/10/31 ←期間2:2016/10/31に

更新クエリを使えばいいと思っていますが、抽出条件をどのように
書いていいのかわかりません。

恐れ入りますが、宜しくお願い申し上げます。

投稿日時 - 2016-12-18 22:23:11

QNo.9270010

困ってます

質問者が選んだベストアンサー

社員コードがテキスト型の場合です。

UPDATE TBL_1
INNER JOIN TBL_2 ON TBL_1.社員コード = TBL_2.社員コード
SET TBL_1.期間2 = [日付]
WHERE TBL_1.ID=DMax("ID","TBL_1","社員コード='" & [tbl_1]![社員コード] & "'")

投稿日時 - 2016-12-19 22:00:50

お礼

m3_makiさん

ご回答ありがとうございます。また、お礼が遅くなり申し訳ございませんでした。
行いたい処理ができ、追加クエリの抽出条件も、少しわかってきたような感じです。

本当にありがとうございました。

投稿日時 - 2016-12-22 17:26:12

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問