リンクテーブルにせずにExcelシートをクエリで使う。

ExcelのシートはAccessテーブルと同じように扱うことが出来ます。
その場合、Book名がデータベース名、シート名がテーブル名になります。
※シート名の後ろに $ を付ける。

選択クエリ
SELECT *
  FROM [EXCEL 8.0;HDR=Yes;DATABASE=C:\フォルダ名\ブック名.xls].[シート名$]

 

テーブル作成クエリ
SELECT *
  INTO 新規テーブル
  FROM [EXCEL 8.0;HDR=Yes;DATABASE=C:\フォルダ名\ブック名.xls].[シート名$]

 

追加クエリ
INSERT INTO 追加テーブル
SELECT *
  FROM [EXCEL 8.0;HDR=yes;DATABASE=C:\フォルダ名\ブック名.xls].[シート名$]

※ \(バックスラッシュ) は ¥

※ 一行目を列見出しにしない場合は HDR=No

※xlsx を mdb に取り込むことは出来ないが、accdb になら
 FROM [EXCEL 12.0 xml;HDR=Yes;DATABASE=C:\フォルダ名\ブック名.xlsx].[シート名$]
 で取り込むことが出来る。

※csv ファイル等のテキストファイルはこちら。
cf.1 YU-TANG’s MS-Access Discovery:外部テキストファイルとの接続方法:SQL 文

※SQLを使って Excel シート自体に対して編集を行うことはできません。
これはAccessの仕様です。
cf.2 文書番号: 904953 – 最終更新日: 2006年5月12日 – リビジョン: 4.3
Office Access 2003 または Access 2002 で Excel ブックにリンクされているテーブル内のデータを変更、追加、削除できない

, ,

:)