2012-02-10 8 views
0

私は約10 * .mdbのオフィスバージョン2003のファイルにアクセスしています。Excel 2003のみをインストールしているクライアントマシンで作業していますアクセスはできません。エクセル上でExcelシート上のすべてのアクセステーブルの列をコピーするためのVBAスクリプトが必要

各データベースファイルには50~100個のテーブルがあり、各テーブルには20~30個のカラムがあります。 ExcelテーブルにすべてのAccessテーブルとその列をコピーできるように、VBAスクリプトまたはExcelでのインポートを実行する必要があります。 Accessテーブルのデータは必要ありません。テーブルとそのカラム名だけが必要です。

+0

Look up ado schemas。 – Fionnuala

+0

あなたはそれを探していくつかのサイトを提案することができます..私はこのすべてに完全に新しいです.. –

+1

Googleに入力スキーマを入力し、どのように取得を参照してください。 – Fionnuala

答えて

2

計画: ADOXスキーマを持つ任意の大騒ぎせず.XLSシートに.mdbsテーブルスキーマをエクスポートしますIN CLAUSE

このアプローチ:

For Each MDB In YourMdbs (file in folder, hard-coded list, ...) 
    For Each TABLE In MDB (filtered, no MSys tables, ...) 
     XLS = FSpec to non-existing .xls corresponding to MDB 
     Execute on ADO connection to XLS: 
      SELECT * INTO <TABLE> FROM <TABLE> IN "<FSpec to MDB>" WHERE 1=0 

に基づきます。

WRTのコメント:

  1. プログラムVBS Expressから(理由はWHERE句のデータなし)文書テーブルとフィールド名、私の戦略コピーテーブルシート
  2. ADOマジックは、MS Officeをインストールしていない状態でも正常にインストールされています。
+0

ありがとう..私はここで言及したアプローチを使用した.. http://www.vbaexpress.com/kb/getarticle.php?kb_id=707 私はmdbファイルを見つけるためにディレクトリにループし、上記の手順を使用してテーブルと列。それは簡単だった.. –

+0

私はDAO.OpenDatabaseを使用して、私のExcelモジュールでアクセスデータベースを開きました。これは、私がmsアクセス権を持っていないという問題を解決しました。 –

関連する問題