Access のテーブルを作成する方法や、テーブルにデータ (レコード) を追加する方法はいくつかあります。
今回は Access の既存のテーブルに、Excel ブックで管理しているレコードをインポートする方法についてご紹介します。

Access のデータベースに、[T_更新情報] テーブルがあり、現在レコードはゼロです。
ここに下の図の Excel ブックの 3 レコードをインポートしたいと思っています。




Access のテーブルと Excel ブックのワークシート上にあるデータのフィールド名とその順序は同じにしてあります。
フィールド名が同じであれば、フィールドの順序は違っても問題ありません。また、一部のフィールドだけしか Excel ブックにない (たとえば Access では 5 つフィールドがあるけど、Excel には 3 つしかフィールドがない) という場合も、フィールド名さえ同じなら問題ありません。

Excel ブックはもちろん保存してあります。

Excelデータのインポート

  1. リボンの [外部データ] タブの [インポートとリンク] グループの [新しいデータソース] をクリックし、[Excel] をクリックします。

    バージョンやアップデートの状態によっては、[インポートとリンク] グループに [Excel] と書かれたアイコンがあるかも。
    その場合はそちらをクリックしてください。


  2. [外部データの取り込み] ダイアログ ボックスの [参照] をクリックし、インポートしたいデータが含まれる Excel ブックを指定します。
     
     [レコードのコピーを次のテーブルに追加する] をオンにして、右側のドロップダウン リストでインポートしたい Access のテーブルを選択して、[OK] をクリックします。


  3. [スプレッドシート インポート ウィザード] が表示され、選択した Excel ブックの内容がプレビューされます。
     
     [次へ] をクリックします。


  4. 次の画面で [インポート先のテーブル] にテーブル名が正しく指定されていることを確認して [完了] をクリックします。

  5. [外部データの取り込み] ダイアログ ボックスの [閉じる] をクリックします。


  6. 指定したテーブルに Excel ブックのデータがインポートされます。

    テーブルを開いて確認してください。



なんで突然このテーマにしたかというと、「Excel ブックの内容で Access のテーブルを書き換えたい」といわれたからです。
気持ちはわかるけど、製品をまたぐにはそれなりの技術が必要になるので、いったん Access に更新情報を格納するテーブルを用意して、そこに Excel のデータをインポートし、そのテーブルを使って別のテーブルを更新するほうがわかりやすいのではないかと思いまして。

[T_更新情報] テーブルの内容を使って、[T_社員] テーブルを更新するという流れの更新クエリについては、別の記事で書いています。

石田 かのこ