- ベストアンサー
アクセス インポート時の特定レコードの更新について
ID(連番の主キー:1~1000)をもったレコード1000の「テーブルA」があります。 インポートしたいエクセルには1~50個のIDと付随する情報が記載されています。 エクセルをインポートした際に、「テーブルA」に記載されているIDと紐付くレコードのみを 更新したいのが、どのように実現すればよろしいでしょうか。 ご教示よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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の表現方法です。 このクエリを実行すると、データが更新されます。
その他の回答 (1)
- piroin654
- ベストアンサー率75% (692/917)
No1です。 書き忘れましたが、クエリのデザインビューで 「テーブルA」と「Sheet1」の「ID」を結合線で つなげてください。 以上です。
お礼
piroin654様 無事特定レコードのみ更新することができました。 大変助かりました。ありがとうございます。