• ベストアンサー

アクセス インポート時の特定レコードの更新について

ID(連番の主キー:1~1000)をもったレコード1000の「テーブルA」があります。 インポートしたいエクセルには1~50個のIDと付随する情報が記載されています。 エクセルをインポートした際に、「テーブルA」に記載されているIDと紐付くレコードのみを 更新したいのが、どのように実現すればよろしいでしょうか。 ご教示よろしくお願いいたします。

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

VBAでゴリゴリする方法もありますが、 あまり、あれこれコードを作ったりしないでする方法は、 (1) AccessでExcelのシートをテーブルとしてリンクします。 リンクするとシート名でテーブルがリンクされます。 (リンクの仕方はわかりますね?) 一応、「Sheet1」というリンクされたテーブルができる ものとします。 (2) 新規のクエリをデザインビューで開き、「Sheet1」と 「テーブルA」をデザインビューでテーブルとして 追加します。そして、このクエリを更新クエリに 変更します。次に、デザインビューで以下のように 設定します。 フィールド       フィールド1 テーブル        テーブルA レコードの更新     [Sheet1]![フィールド1] 抽出条件        [テーブルA]![ID]=[Sheet1]![ID] 複数のフィールドについて更新するならば、 フィールド     フィールド1           フィールド2             [Sheet1]![ID]  テーブル      テーブルA           テーブルA レコードの更新   [Sheet1]![フィールド1]   [Sheet1]![フィールド2] 抽出条件                                          [テーブルA]![ID] のようにします。抽出条件の書き方が違いますが、 これは両方登録してもう一度デザインビューで見ると どちらも下の方の表現になっています。 これは、Accessの表現方法です。 このクエリを実行すると、データが更新されます。

yukimushisan
質問者

お礼

piroin654様 無事特定レコードのみ更新することができました。 大変助かりました。ありがとうございます。

その他の回答 (1)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

No1です。 書き忘れましたが、クエリのデザインビューで 「テーブルA」と「Sheet1」の「ID」を結合線で つなげてください。 以上です。