こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルVBAでアクセスのテーブルインポート

VBA初心者です。
エクセルのVBAでデータベースA.mdbのテーブルAをデータベースb.mdbにインポートするプログラムお教えて下さい。

'================================================
sub インポート ()
Set cn = New Connection'データベース接続
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source="C:\A.mdb"
●ここにPG書くような感じだと思いますが。

  cn.Close: Set cn = Nothing'後処理
End Sub
'================================================
もし難しい場合、アクセスのVBAでインポートをするが、この実行をエクセルでするよなのでもいいです。この場合は、インポートされるb.mdb側のプログラムをエクセルで実行するようにしたいです。(A.mdbは多数あるため、変更が大変なため)
よろしくお願い致します。

投稿日時 - 2007-08-13 08:36:26

QNo.3250909

すぐに回答ほしいです

質問者が選んだベストアンサー

質問は、最近仕入れたことを書き並べているような感じだが、
簡単に
(1)エクセル側で
(2)マクロの記録モードにして
(3)ファイルー開くーファイルの種類で.mdbを指定ーファイル指定
でテーブルを指定
でデータが持ってこれた。
記録は
Sub Macro1()
Workbooks.OpenDatabase Filename:= _
"C:\Documents and Settings\xxxx\My Documents\db2.mdb", CommandText:=Array( _
"体重表"), CommandType:=xlCmdTable
End Sub
新しいブックが作成されるが、これでどうですか。
ほか OpenDatabase メソッドについてWEB照会してみること。
エクセルのMSクエリでもできると思う。
(いまの私の場合エクセルのMSクエリが使えるようにしてしまっているのだが、これが効いていて、質問者の場合使えるようにしないと、ファイルー開くーmdbがうまくいかないかも知れない。大丈夫と思うが。
うまくゆかない場合はMSクエリでWEB照会して勉強してください。)

投稿日時 - 2007-08-13 09:52:52

補足

回答ありがとうございます。
実行したいのは、エクセルにデータをもってくるのではなく、アクセルのテーブルを別のアクセルにインポートです。アクセスのVBAを使用すると簡単ですが、エクセルの計算結果と合わせて多くの処理をするためエクセルのVBAで処理したいという内容です。
よろしくお願いいたします。

投稿日時 - 2007-08-14 10:29:11

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問