• ベストアンサー

ACCESS テーブルのコピー

XP-ProでVB.NETを使用しています。 複数のテーブルがあるMDBから、 一つのテーブルの中のデータの一部をコピーしたいと思います。 接続方法はADOです。

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

  • ベストアンサー
  • taseki
  • ベストアンサー率66% (155/233)
回答No.2

新規に作成するにはADOX.Catalog.Createを使います。 Dim catTarget As New ADOX.Catalog Dim tblTarget As New ADOX.Table Dim idxTarget As New ADOX.Index catTarget.Create ★コネクション文字列 & "Source=C:\~.mdb" tblTarget.Name = "★テーブル名" ' フィールドを追加 tblTarget.Columns.Append "RecID", adInteger tblTarget.Columns.Append "Name", adVarWChar, 20 ' 主キーを設定 idxTarget.Name = "PrimaryKey" idxTarget.PrimaryKey = True idxTarget.Columns.Append "RecID" tblTarget.Indexes.Append idxTarget Set idxTarget = Nothing ' tblTargetを目的のDBに追加 catTarget.Tables.Append tblTarget 以下クローズ処理

you314
質問者

お礼

お礼が遅れて申し訳ありませんでした。 2度も回答頂いたのですが、状況が変わってしまったので新たな質問をしました。 http://okweb.jp/kotaeru.php3?q=1585498 もしよろしければ、再度お教え願いませんでしょうか。

その他の回答 (1)

  • taseki
  • ベストアンサー率66% (155/233)
回答No.1

一部と言うことなのでADOからSQLを実行するのがいいと思います。 INSERT INTO コピー先テーブル SELECT FROM コピー元テーブル WHERE 抽出条件

you314
質問者

補足

ありがとうございます。 説明が不足していたので、追加させて下さい。 コピー先:新規作成(テーブル・データはコピー内容のみ) コピー先のMDBを新規作成し、 コピーする場合はどうすればよろしいのでしょうか。

関連するQ&A

  • ACCESSで、テーブルのデータの一部を別MDBにコピーする方法

    OS:XP-Pro VB.netで、MDBのテーブルのデータの一部を、 外部メディアにあるMDB(コピー先と同じ構成)にコピーしたいんです。 どのようにすればよろしいでしょうか。

  • テーブルのコピーについて

    VB初心者質問です。 開発環境 VB6 SP6 WIN2000  VB6を使用しテーブルをコピーしようと思っています。 サイトが見つけられませんのでどなたかアドバイスお願います。 (内容) a.mdbとb.mdbの2つがあり、それぞれaaaテーブル があります。(構造は同一です) a.mdbのaaaテーブルをb.mdbのaaaテーブルに上書きコピーするにはどのようにすればよろしいですか? よろしくお願いします。

  • mdbのテーブルを別のmdbのテーブルに追加

    2種類のMDBがあり 一つは 毎日の入力にて使用、もう一つは 累積として使用している。 それぞれに 同一デザインのテーブルがあります。 毎日の入力用のMDB内ののテーブルのデータをすべて 二つ目のMDBのテーブルに 追加したいのですが 一件読み込んで 一件書き込むなどと プログラムしていましたが 毎日の入力用のMDBが たくさんになったため 処理が遅くてたいへんです。 なにか 簡単に かつ 高速にすることは可能でしょうか? 開発環境は VB6 SP6 WindowsXP ADOを使用しています。 よろしくお願いします。

  • Accessで別mdbのテーブルをコピー

    VBで同じような質問をされている方はいたのですが、 ACCESS VBAでの方法がよくわからないので、教えてください。 別フォルダにあるmdbからテーブルをコピーしたいのですが、 どのようにしたらいいのでしょうか。 DoCmd.CopyObjectを使うと、コピー先を指定することはできるようですが、 コピー元を指定してコピーする方法を教えてください。 よろしくお願いします。

  • 異なるDBのSQL

    SQLを始めたばかりの初心者です。 oo4oやADOを使用して、オラクルサーバーのデータをSELECT文で オラクル内の複数のテーブルを結合してListViewで表示する プログラムを作成中です。 オラクルサーバーにメインデーターがあり 各クライアントにMDB形式でマスタデータがあります。 MDBのマスタデータにはたとえばですが、テーブル名 [商品テーブル] フィールド名[コードナンバー]、[商品名]... となっており、サーバーには、テーブル名[商品コード]  フィールド名[コードナンバー]、[受注日]....があるとします。 クライアントからoo4oやADOを使用して、サーバーのデータを SELECT文でオラクル内の複数のテーブルを結合して ListViewで表示するのはできます。しかし [コードナンバー]は取得できるのですが、サーバーのテーブルには、 [商品名]がないためとうぜん表示できません。 この場合、オラクルから取得したデータをマスタデータのあるMDBに新しくテーブルを 作りそこに一度格納して再度ADOで結合処理して 商品名を表示する方法しか考えつかないのですが、 ほかに良い方法はありますでしょうか? ADOで接続MDBに保存再度ADOで接続して表示では レスポンスが悪いかなと思いまして... *VB6 winXP-pro オラクル9i

  • Accessデータを違うmdbにコピーしたい

    VB2005で、mdbをデータベースにして開発しています。 aaa.mdbのテーブル1のデータをbbb.mdbのテーブル1に読み込ませたいと思っています。 bbb.mdbのテーブル1は、aaa.mdbのテーブル1よりフィールド数が多く、 該当する列にデータを読み込ませたいと思っています。 今まで、バックアップはaaa.mdbを丸ごとコピーして圧縮ファイルにしていました。復元の時は、解凍して上書きする、という手法をとっていました。 しかし、今回どうしてもテーブル1に列を追加しなくてはならず、aaa.mdbのバックアップデータをbbb.mdbに読み込ませて、VB2005のフォームに表示したいと考えております。 以上のような操作は可能でしょうか?可能でしたらその手法を是非教えてください。 また、データベースアプリを作成する上でアプリ完成後に、カスタマイズや計算方法の変更により列の追加が必要になる、いうことはまずいことでしょうか?前もって考えてフィールドを持っておくべきなのでしょうか?経験がないため、わかりません。この点についてもアドバイスがありましたら宜しくお願い致します。

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

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

  • Access テーブルの結合

    Access2002で同じ*.MDB内にある同じフウールド名、データ型を持つ複数のテーブルを結合し一つのテーブルにする方法を教えて下さい。

  • テーブルデータの上書きをしたいです。

    MS-ACCESS:2000 OS:XP-HOME こんにちは。ご教授いただきたく質問します。 電話帳DBを作成しております。 複数パソコンで同時に閲覧したいため、データテーブル用MDBと作業用MDBを用意し、客先を抽出した際に、データテーブルから作業テーブルにデータをコピーし、作業するというようにしたいと考えています。 問題になっているのは、 抽出したデータを編集したときに、そのデータを元テーブルにコピーすることです。 「上書き」みたいにしたいのですが、どうもうまくできません。 更新クエリを使用して、コピー元テーブルとコピー先テーブルで更新しようとすると、エラーになります。 どのようにするのが、適切なのでしょうか? よろしくお願いします。

  • Accessにてリンクテーブルの削除、最適化、リンクの張り直しを行いたいのです。

    こんにちは。 Access2000でプログラムを作成しています。その際、データ(テーブル)の入っているmdb(DT.mdbとします)と、テーブル以外のプログラムが入っているmdb(PG.mdbとします)に分けて、PG.mdbにテーブルをリンクしています。 データがどんどん大きくなるので、最適化をしようと思うのですが、プログラムのほうは、ツールのオプションで、「閉じるときに最適化を行う」にチェックを入れたので解決です。 DT.mdbの方はリンクしているため、プログラムのメニュー上にある「最適化」のボタンを押したら、いったんリンクを解除して、最適化を行い、もう一度リンクを張りなおす、という処理を行いたいのですが、書き方がわかりません。 今まではDAOを使用していて、DAOでの書き方はわかるのですが、このプログラムはADOで書かれており、しかもほかの人が作ったものなので解読に時間がかかってしまいます。一応、DT.mdbへの接続などはできているようです。 あと、PG.mdbの方では、ワークテーブル(データではない、一時的に利用したい)的なものは、使用できないのでしょうか?レコードセットをオープンしようとしたらエラーになってしまいましたので。 どなたかよい方法をご存知の方、回答よろしくお願いします。

専門家に質問してみよう