• ベストアンサー

VBの質問です

TAGOSAKU7の回答

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.6

サンプルです。 データレコード1件づつやらないでもできます。 CopyTableに二つのファイルパス(元、先)を指定してください。 Private Const CONNECTCONST    As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" Sub Main()   Call CopyTable("c:\A.mdb", "c:\B.mdb") End Sub Sub CopyTable(inSrcDB As String, inDstDB As String)   Dim Cnn As ADODB.Connection   Dim Cat As ADOX.Catalog   Dim wkTbl  As ADOX.Table   Dim strConnect As String      Dim strTblName As String      Dim strSQL   As String      'まず初期化   Set Cnn = New ADODB.Connection   Set Cat = New ADOX.Catalog      'DBの接続文字   strConnect = CONNECTCONST & inSrcDB & ";"   '接続   Cnn.Open strConnect   'カタログ作成   Cat.ActiveConnection = Cnn      'カタログの中から、システムテーブル以外のものについて処理を行います。   For Each wkTbl In Cat.Tables     If wkTbl.Type = "TABLE" Then       'テーブル名を取得       strTblName = wkTbl.Name              'コピー先のテーブルデータを削除するSQL文の実行       strSQL = "delete from [" & inDstDB & "]." & strTblName       Cnn.Execute strSQL              'コピー元をコピー先へデータをコピーするSQL文の実行       strSQL = "insert into [" & inDstDB & "]." & strTblName & _         " select * from " & strTblName       Cnn.Execute strSQL            End If   Next wkTbl      Cnn.Close   Set Cnn = Nothing End Sub

関連するQ&A

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

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

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

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

  • vb2005でmdbを読み込みmdbに書き出したい

    よろしくお願いします。windowsxp,access2003,vb2005express エディションを使用して、現在、勉強中です。 早速質問ですが、ADO・NETを使ってA_MDBをvb2005に読み込んで,その内容をB_MDBに書き込みたいのですがその方法が分かりません 例えば、A_MDBのA_TABLEには単価と数量が有ります。仮に10レコードがあるとします、このA_TABLEを読み込んで、単価と数量を 掛けて金額を計算し、B_MDBのB_TABLEに単価、数量、金額の各項目を書き込むという感じです。A,B両MDBは作成済です。あまり上手く 表現できませんがよろしくお願いいたします。

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

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

  • vb6のコンボボックスの操作について

    おはようございます。 vb6+MDBの環境下で、コンボボックスについて質問です。 マスタとなるテーブルA(都道府県など)と、一般的(?)なデータを日々貯めていくテーブルBがあり、 Bに、Aのキーとなる値が保存されています。 テーブルデータBの表示・更新画面を作っているのですが、 テーブルAの内容を画面上のコンボボックスに選択項目としてADDして表示するところまでは出来たのですが、以下のことを実現するには、コンボボックスにどういう記述で実現するのかわかりません。 1.テーブルBに持っているAの都道府県コードに該当する項目を、Bのデータ選択時に表示したい。 【テーブルA】 Aのキーコード,都道府県名 【テーブルB】 Bのキーコード,Aのキーコード,住所… このような場合、イベント時にコンボボックスをどのように処理するようにソースを書けば実現できますか?

  • VB2005でDBのドライブ指定の方法

    VB2005初心者です。 MDBと接続してテーブルデータを参照・更新するプログラムを作っていますが、接続先の指定を「C:\\アプリ\VB¥支払先.mdb」と記述していますが、プログラムの保存先と同じフォルダなので省略した記述にしたいのですがでのように書いたらよいかわかりません。 省略したい理由はプログラムの保存先を移動(例えばCドライブをEドライブに「アプリ」のフォルダ名を変更)した場合でもMDBの接続部の記述を変更することなく動かしたいからです。 よろしくお願いいたします。

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

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

  • C#にVBにあるビジュアル データ マネージャはないのでしょうか?

    ACCESSの代わりにVBのビジュアル データ マネージャを使ってテーブルを 作っていました。 C#にVBにあるビジュアル データ マネージャはないのでしょうか? またMDBはC#ではどのように作ればいいのでしょうか?

  • VBからMDBのアクセス

    VB初心者質問です。 開発環境 VB6 SP6 WIN2000  VB6からMDBの検索の手順について教えてください。 (質問) フォームに検索値用のテキストBOXを配置し、 その値でMDBのテーブルを検索し1件抽出する。 (検索値はテーブルのキー項目のため重複なし) 現在 Microsoft DAO 3.6 Object Library を参照しているので DAOで検索を行いたい。 知りたいことは検索の方法と 見つからなかった場合の判定についてです。 サンプルなどあればお願いいたします。

  • VB6.0でACCESSのコマンドを実行するには?

    教えてください。よろしくお願いします。 VB6.0のプログラムからACCESSに文字データを渡し、それをキーにしてACCESSのテーブルから該当するデータをACCESSのテキストボックスに表示させたいのですが、検索・表示のプログラムはACCESSで記述ずみですので、VBからは引数を渡して、ACCESS側のVBAのプログラムを実行させたいのです。 その際、ACCESSの引数を渡すMDBが起動していなかったら、起動させて、上記の処理をさせたいのですが。 分かりづらい文章で申し訳ありませんが、どなたかアドバイスをお願い致します。