• ベストアンサー

テーブルデータのエクスポートについて

質問です。 VBAで、Access2003をSQL,DAOで操作しようとしています。 a.mdbのテーブルデータを、b.mdbのテーブルにエクスポートしたいのですが、やり方がわからず困っています。 ちなみに私はVBA未経験で、1週間前からVBAを使っています。 すみませんが、データを含めてエクスポートする方法を教えてください。

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

  • ベストアンサー
  • hotosys
  • ベストアンサー率67% (97/143)
回答No.1

必要な事 何と言うテーブルをエクスポートするか。 エクスポート先(b.mdb)のフルパス。 エクスポート先でのテーブル名(同じでもいいし変えることもできる)。 例) テーブル1を"c:\b.mdb"の"テーブル2"と言う名前のテーブルにエクスポートする場合。 Sub sample() DoCmd.TransferDatabase acExport, "Microsoft Access", "c:\b.mdb", acTable, "テーブル1", "テーブル2" End Sub もしも既にb.mdbにテーブル2がある場合は上書きされて消えてしまう。

その他の回答 (1)

noname#110201
noname#110201
回答No.2

Sub A() DoCmd.TransferDatabase acExport, "Microsoft Access", "C:\My Documents\b.mdb", acTable, "tbl01", "tbl01" End Sub このプロシージャを a.mdb で実行すれば、tbl01がb.mdbにエクスポートされます。 DoCmd.TransferDatabase がポイントです。 このメソッドについては、私がゴチャゴチャ書くより、ヘルプを御覧下さい。よっぽど分かりやすいと思います。

関連するQ&A

  • VBAでAccessのテーブルのエクスポート・インポートをするには。

    すみませんが、教えてください。 Excel+VBAで、AccessをSQL,ADO,ADOXで操作しようとしています。 a.mdbのテーブルを、b.mdbに、エクスポート(インポート)したいのですが、やり方がわからず困っています。 すみませんが、テーブル構造のみをエクスポートする方法、データを含めてエクスポートする方法を教えてください。

  • VB2005を使ってACCESSのテーブルを別のデータベースにエクスポートさせるには?

    例えば、VB2005を使ってACCESSのA.mdbにあるテーブルをB.mdbにエクスポートさせるには、どのようなプログラムを書けば良いのでしょうか? ちなみに、ACCESSのテーブルをデータセットに取得して、別のテーブルに書き込むと言うようなものを書いて見ましたが、処理が非常に遅いので使えませんでした。

  • アクセスからオラクルへテーブルをエクスポートするVBAコードは?

    バックアップとして、アクセスからオラクルへテーブルをエクスポートします。その際のアクセスVBAのコードがわかりません。 SQLで行おうとしたらフィールドが120ほどありコードが軽く千行を超えてしまったためあきらめました。 流れとしては、mdb内にオラクルテーブルをコピーして→mdbからオラクルへテーブルをエクスポートして→テーブルのリンクを削除する、と考えています。 また、もしSQLで簡潔に上記作業を行える書き方があるのなら、それも合わせて回答をいただけるととても助かります。 よろしくお願いいたします

  • Accessでテーブルのデータのみをエクスポートするには?

    Access2000で、カレントDBのあるテーブルから別DBのあるテーブルへ、データをエクスポートしたいと思っています。 "TransferDatabase"アクションでやってみたところ、テーブルがまるごと書き換わってしまいダメでした。 "TransferText"アクションで出力してから読み込んでもいいのですが、 出力した後のエクスポート先のテーブルは別のDBなので方法(※)はあるのかもしれませんが、難しそうです。 もっと簡単に別DBの別テーブルにデータだけエクスポートする方法はないのでしょうか? もしないのでしたら※の方法(あるDBから別のDBを操作する方法)を教えて下さい。 ヒントだけでも結構ですので、どなたかお教え頂ければ幸いです。よろしくお願いします。m(_ _)m

  • Accessのテーブルへのデータインポートについて

    Accessのテーブルへのデータインポートについて Access2002で、A.mdbのTESTテーブルからB.mdbのTESTテーブル(構造は同じ)へテーブルデータをインポートしたいのです。 TESTテーブルの主キーはSEQ(オートナンバー)しかありません。 そのときに、コピー元とコピー先の主キーに重複があった場合、オートナンバーなので自動で再付番しデータが追加して欲しかったのですが、 Accessの機能のエクスポート、インポートでは、コピー先に主キーに重複があったデータは上書きされてしまいます。 テーブルを開き、データをコピー&ペーストしますと、ペーストしたときにオートナンバーで自動で再付番されます。 この方法でもいいのですが、データが数百万件あるので、現実的ではありません。 Accessのインポート・エクスポートで、オートナンバーで主キーを再付番してから、B.mdbのTESTテーブルにデータ追加する方法はないでしょうか? よろしくお願いいたします。

  • Accessのテーブルデータ

    Visual Basicで作成したソフトでAccessのテーブルデータを呼び出せるようにしたいです。 mdb形式(Access)のファイルはデータベースエクスプローラに表示できるみたいですが、sqlのデータベースみたいにvisual studio上でデザイナ的に操作できるのでしょうか。 Form上でmdb形式のテーブルデータが扱えればよいのですが、もし必要なコードがあるのでしたら参考程度にアドバイスください。

  • エクスポートエラーのテーブル削除

    お世話になります。 アクセス2000(Win2K)であるテーブル(T_テーブル)をExcelにエクスポートしているのですが、 この時にエクスポートエラーのテーブルが出来ます。 エラーの内容は承知しているのでこのエラーが出るのはいいのですがこのテーブル自体を削除したいのです。 SQLで「DROP TABLE T_テーブル_エクスポート エラー;」とクエリーを作って VBA上でOPENQUERYで上記SQLを実行しました。 ところがエクスポートとエラーの間のスペースが邪魔をして「T_テーブル_エクスポートが見つかりません」 とメッセージがでます。 どうしたらエクスポートエラーのテーブルを削除できるのでしょうか?

  • 前日分のデータだけをスケジュールでエクスポートしたい

    SQLサーバAからあるテーブルの前日分のデータだけをスケジュールでSQLサーバBにエクスポートしたいのですが、 日付を指定ではなくて、常に前日分のみを吐き出す方法はあるのでしょうか。 サーバはA,B共にSQL2000を使用しています。

  • テーブルのエクスポート・インポート

    SQL Server2005 を使用しています。 テーブルのインポート・エクスポートに関して質問があります。 今まで、Oracleを主に使用していて、「EXP」「IMP」コマンドを使用して DMPファイルを介して別PCのデータベース間でテーブルのやり取りをしていました。(DB上のテーブルすべてや特定のテーブルのみなど) 同様のことをSQL Serverで実現したく下記を試したのですが上手くいきません。 1.Management Studio で「タスク」→「データのインポート(エクスポート)」   フラットファイル、Excel、MDBファイルなど試したのですが、   これらの中間ファイルを介した際にデータ型が変わってしまい   元の型のまま戻せない。   Oracleの「DMP」ファイルのようなものには落とせないのでしょうか? 2.「bcp」コマンド   これに関しては、複雑でよくわかりませんでした。   もし、このコマンドで実現可能であれば、やり方を教えて下さると   助かります。 以上、ながなが書きましたが宜しくお願い致します。

  • 複数のテーブルから複数条件で新規テーブルへ抽出するには?

    こんにちわ。 Windows2000、Access2000という環境下で、 住所録の統合をしようとしています。 簡単な構成は、前任者が、グループ関連会社別に住所録のmdbを作っており、各テーブルのフィールドで主要なものは、「通し番号(各mdbごと)」「氏名」「会社名」「住所」です。 ここで、最終的にテーブルを一つにまとめれば完了としたいところなのですが、 2002年夏の時点での住所録A.mdb 2003年冬の時点での住所録B.mdb 2003年春の時点での住所録C.mdb とあり、それぞれにBの時点での新規入力・(住所等の)更新、Cの時点での新規入力・更新があるのです。 BはAを元に作られており、CはBを元に作られています。 ダブっている部分があるのです。 そこで、AとBを比較してAの中で「氏名」、「会社名」が同じもの以外と、Bのデータを新しいDBのテーブルへ、 新しくできたDBのテーブルとCのテーブルとを比較して、「氏名」「会社名」が同じものは、既存のレコードを消去してCのデータを追加するということをやりたいのです。 つまり、BやCでの更新・新規入力をうまく反映させた形の住所録にしたいのです。 Access自体の使い方に不慣れなもので、この作業がAccessのクエリ等の組み合わせでできるのか、それともSQLやVBAを駆使しないと無理なのかの判断もつきません。 どなたか参考になりそうな操作やSiteを知っていましたら、 教えてください。 よろしくお願いします。