Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Access 2016)
テーブルに他テーブルデータを追加したい
投稿日時: 20/09/25 12:50:22
投稿者: d193168

 テーブル1
フィールドは
社員ID(主キー)、A、B、C
 
 テーブル2
フィールドは
社員ID、C
 
テーブル1の同じ社員IDにテーブル2のCフィールドのデータを追加したいのですが、
追加クエリしてもうまく追加出来ません。
 
どの様にすればよいのでしょうか?

回答
投稿日時: 20/09/25 13:15:24
投稿者: sk

引用:
テーブル1の同じ社員IDにテーブル2のCフィールドのデータを追加したい

[テーブル1]と[テーブル2]を[社員ID]同士で内部結合し、
前者の[C]の値を後者の[C]の値で上書きしたい、
ということなのであれば、追加クエリではなく
更新クエリを使用なさればよろしいかと。

投稿日時: 20/09/25 14:07:51
投稿者: d193168

sk様
 
[テーブル1]と[テーブル2]を[社員ID]同士で内部結合し、
  とは、クエリでリレーションする事でしょうか?
  正直内部結合の意味が判りません。
 
前者の[C]の値を後者の[C]の値で上書きしたい、
  まさにこの事です!
 
ということなのであれば、追加クエリではなく
更新クエリを使用なさればよろしいかと。
  更新クエリで社員IDをリレーションして実行すると
  「クエリには出力フィールドが1つ以上必要です」とメッセージが表示されてしまいます。
 
 
お返事お願い致します。

投稿日時: 20/09/25 14:29:51
投稿者: d193168

[テーブル1]と[テーブル2]を更新クエリにて結合プロパティで内部結合しました。
クエリデザインの下段はCだけだとやはり
「出力フィールドが1つ以上必要」と表示されてしまいます。
 
こんなレベルでも何とかしたいです。
 
よろしくお願い致します。

回答
投稿日時: 20/09/25 15:31:18
投稿者: Suzu

引用:
クエリデザインの下段はCだけだとやはり
「出力フィールドが1つ以上必要」と表示されてしまいます。

 
フィールド  |  C
テーブル   | テーブル1
レコードの更新| [テーブル2].[C]
抽出条件   |
または    |
 
でどうぞ。

投稿日時: 20/09/26 15:01:03
投稿者: d193168

フィールド  |  C
テーブル   | テーブル1
レコードの更新| [テーブル2].[C]
抽出条件   |
または    |[/quote]
 
上記のようにしましたが今度は
「無効モードのため、アクションまたはイベントはブロックされました。」
と下に表示されてしまいます。
 
内部結合も社員IDを連結し、3つ
 両方のテーブル…
 テーブル1の全レコード…
 テーブル2の全レコード…
それぞれ試しましたがだめでした。
 
どこが間違っているのででしょうか?

回答
投稿日時: 20/09/28 08:41:38
投稿者: Suzu

引用:
「無効モードのため、アクションまたはイベントはブロックされました。」
と下に表示されてしまいます。
こちらに関しては
【クエリをブロックする無効モードを停止する】
https://support.microsoft.com/ja-jp/office/%E3%82%AF%E3%82%A8%E3%83%AA%E3%82%92%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E7%84%A1%E5%8A%B9%E3%83%A2%E3%83%BC%E3%83%89%E3%82%92%E5%81%9C%E6%AD%A2%E3%81%99%E3%82%8B-0171e2dd-f9b0-4ffa-a542-2278ce1babb1
を元に対処下さい。
 
 
引用:
内部結合も社員IDを連結し、3つ
 両方のテーブル…
 テーブル1の全レコード…
 テーブル2の全レコード…
それぞれ試しましたがだめでした。
こちらに関しては、この説明で何をされたのか当方には把握できません。
3パターン更新クエリを実行しようとしたが、『プロックされました』が表示された
という事でしょうか?
であれば、まずは先の無効モードを停止させて下さい。
そうで無いのであれば、
引用:
3つ
 両方のテーブル…
 テーブル1の全レコード…
 テーブル2の全レコード…
これが、どの様な事をなされたのかもう少し具体的に説明できますでしょうか。

投稿日時: 20/09/28 09:40:33
投稿者: d193168

フィールド  |  C
テーブル   | テーブル1
レコードの更新| [テーブル2].[C]
抽出条件   |
または    |
 
本日職場にて上記更新クエリを作成し実行したところ、希望通りテーブル1にテーブル2のデータを書き込むことができました!
助かりました。
sk様、suzu様
本当にありがとうございます。
また教えていただく事もあると思いますが今後も宜しくお願い致します。