Access のテーブルを作成する方法や、テーブルにデータ (レコード) を追加する方法はいくつかあります。
今回は Access の既存のテーブルに、Excel ブックで管理しているレコードをインポートする方法についてご紹介します。
Access のデータベースに、[T_更新情報] テーブルがあり、現在レコードはゼロです。
ここに下の図の Excel ブックの 3 レコードをインポートしたいと思っています。
Access のテーブルと Excel ブックのワークシート上にあるデータのフィールド名とその順序は同じにしてあります。
フィールド名が同じであれば、フィールドの順序は違っても問題ありません。また、一部のフィールドだけしか Excel ブックにない (たとえば Access では 5 つフィールドがあるけど、Excel には 3 つしかフィールドがない) という場合も、フィールド名さえ同じなら問題ありません。
Excel ブックはもちろん保存してあります。
Excelデータのインポート
- リボンの [外部データ] タブの [インポートとリンク] グループの [新しいデータソース] をクリックし、[Excel] をクリックします。
バージョンやアップデートの状態によっては、[インポートとリンク] グループに [Excel] と書かれたアイコンがあるかも。
その場合はそちらをクリックしてください。 - [外部データの取り込み] ダイアログ ボックスの [参照] をクリックし、インポートしたいデータが含まれる Excel ブックを指定します。
[レコードのコピーを次のテーブルに追加する] をオンにして、右側のドロップダウン リストでインポートしたい Access のテーブルを選択して、[OK] をクリックします。 - [スプレッドシート インポート ウィザード] が表示され、選択した Excel ブックの内容がプレビューされます。
[次へ] をクリックします。 -
次の画面で [インポート先のテーブル] にテーブル名が正しく指定されていることを確認して [完了] をクリックします。
-
[外部データの取り込み] ダイアログ ボックスの [閉じる] をクリックします。
-
指定したテーブルに Excel ブックのデータがインポートされます。
テーブルを開いて確認してください。
なんで突然このテーマにしたかというと、「Excel ブックの内容で Access のテーブルを書き換えたい」といわれたからです。
気持ちはわかるけど、製品をまたぐにはそれなりの技術が必要になるので、いったん Access に更新情報を格納するテーブルを用意して、そこに Excel のデータをインポートし、そのテーブルを使って別のテーブルを更新するほうがわかりやすいのではないかと思いまして。
[T_更新情報] テーブルの内容を使って、[T_社員] テーブルを更新するという流れの更新クエリについては、別の記事で書いています。
石田 かのこ