Access

【Access・クエリ】複数のテーブルのデータをクエリで更新する

2020-07-31

複数人で分散入力したエクセルのデータをアクセスのクエリを使って結合する方法です。以下の続きです。

  1. データベースの作成とエクセルデータのインポート
  2. テーブルのコピーとクエリを使って不要データを消す

インポートしたエクセルデータと完成イメージ

エクセルのデータ

  • エクセルのブック名:商品情報.xlsx
  • シート名:Sheet1、Sheet2
  • 2つのシートの商品コードと商品名は同じ
  • 金額の入力はシートにより異なる
  • 商品コードの重複なし

インポートしたデータをクエリで結合する

  • テーブル「Sheet1」とテーブル「Sheet2」のデータをテーブル「T商品一覧」に追加する
  • テーブル「T商品一覧」のフィールド「担当者」にどちらのシートのデータかわかるようにする

テーブルにフィールドの追加

テーブル「T商品一覧」にフィールド「担当者」を追加します。

(1)テーブル「T商品一覧」を選択します。

(2)右クリック > [ デザインビュー ] をクリックします。

(3)フィールドに「担当者」と入力し、データ型を「短いテキスト」に設定します。

(4)保存してテーブルを閉じます。

クエリでデータを更新する

Sheet1とSheet2のデータを更新します。

Sheet1の更新

(1)[ 作成 ] タブ > [ クエリデザイン ] をクリックします。

(2)[ テーブルの追加 ] よりCtrlキーを押しながら「Sheet1」と「T商品一覧」」を選択し、[ 選択したテーブルを追加 ] をクリックします。

(3)T商品一覧の「商品コード」をSheet1の「商品コード」へドラッグします。

※結合線をダブルクリックすると結合プロパティが開き、結合状態を確認できます。

(4)T商品一覧の「金額」と「担当者」を選択し、フィールドへドラッグします。

→ ドラッグ後

(5)[ デザイン ] タブ > [ 更新 ] をクリックします。

(6)Sheet1の「金額」をフィールドへドラッグします。

→ ドラッグ後

(7)レコードの更新と抽出条件を入力します。

右から

  • レコードの条件・金額:[Sheet1].[金額]
  • レコードの条件・担当者:”1”
  • 抽出条件・金額:Is Not Null

(8)[ デザイン ] タブ > [ 実行 ] をクリックします。

(9)[ はい ] をクリックします。

→ 実行後

Sheet2の更新

(1)テーブルの追加より「Sheet2」をドラッグします。

(2)T商品一覧の「商品コード」をSheet2の「商品コード」へドラッグし結合します。

(3)レコードの更新と抽出条件を修正します。

右から

  • レコードの条件・金額:[Sheet2].[金額]
  • レコードの条件・担当者:”2”
  • 抽出条件・金額:Is Not Null

(4)[ デザイン ] タブ > [ 実行 ] をクリックします。

→ 実行後

クエリを保存する場合は[ F12 ] キーを押して、クエリ名を入力し[ OK ] をクリックします。

-Access

© 2021 オフィスのQ&A