• 締切済み

Accessのインポートについて

A.MDBの「まとめテーブル」にB.MDBの「テーブル1」とC.MDBの「テーブル2」を追加したいのです。 Insert Into を使ったら良さそうなのですが、記述がよく分かりません。 プログラムはA.MDB側で記述したいのですが…。 お願いいたします

みんなの回答

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.1

INSERT INTO まとめテーブル SELECT * FROM テーブル1 IN 'C:\Test\B.mdb'; のような感じで。

関連するQ&A

  • Access2000の追加クエリ(INSERT句)について

    Access2000で作成したmdbファイルAから他のmdbファイルBにあるテーブルデータを取得して、mdbファイルAのテーブルにこのデータを追加する構文として、 DoCmd.RunSQL "INSERT INTO テーブル1 SELECT * FROM テーブル2 IN ""Z:\mdbファイルB.mdb""", -1 を記述して使用していますが、mdbファイルB.mdbにデータベースパスワードを設定すると、「実行時エラー・パスワードが正しくありません」のエラーが発生します。 接続先のmdbファイルBにパスワードを設定した状態で使用したいのですが、何かよい解決策はないでしょうか? なお、上記のとおりパスワードを設定した状態でテーブルにデータを追加できさえすればどんな方法でもかまいませんのでご教授願えないでしょうか。 よろしくお願いします。

  • エクセル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は多数あるため、変更が大変なため) よろしくお願い致します。

  • ACCESSのマクロで別のPCにあるmdbを起動

    初心者です。 AというPCにテーブル更新用のB.mdbファイル(主にテーブル作成クエリ)を作成して共有フォルダにおいて、CというPCに別のD.mdbファイルを作成しています。 B.mdbで作成されたテーブルをD.mdbファイルにリンクしておき、さまざまなクエリでテータをとっています。 この場合、CというPCにあるD.mdbからマクロでAというPCにあるB.mdb起動してすべてのテーブルを更新させたいですが、可能でしょうか? 事情がありまして、上記のことができれば大変助かります。 B.mdbファイルにはすべてのテーブルを更新するようにマクロを作成してAutoExecとしています。 同じPCである別のmdbを起動する場合は、マクロ→アプリケーションでコマンドラインに下記のように記述して動きましたが、別のPCにあるmdbを起動する場合はどうすればいいのか教えていただけないでしょうか? 「""C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" "C:\PartManagement7\01_IFS Work Table_1.mdb"」 ちなみに、AというPCはXPで、ACCESS 2003で、CというPCはWindows7でACCESS 2003です。

  • insert文等で「`」の有無で失敗するテーブルとしないテーブルがある。

    XAMPP(winXP、PHP4)を使っています。 Aのテーブルでは $query= "insert into table (a,b,c,d) values('1','2','3','4')"; $result = mysql_query($query); でデータが追加されるのに、Bのテーブルでは失敗しました。 今日ずっと何が間違っているのかわからなかったのdですが、 $query= "insert into table (`a`,`b`,`c`,`d`) values('1','2','3','4')"; $result = mysql_query($query); とすると成功しました。 なぜAのテーブルでは「`」が無くても成功したのに、Bのテーブルでは必要なのでしょうか。 宜しくお願いします。

    • ベストアンサー
    • MySQL
  • Access クエリ

    INSERT INTO テーブルA SELECT * FROM テーブルB WHERE (フィールド1= 値を入力してください); 上記のような追加クエリがあります。 実行するとインプットボックスが表示されますが、 メッセージを改行して2行表示することは出来ませんか?

  • アクセス2010 EXISTSの使い方

    テーブルA F1 F2 あい False いえ True おか True きく True けこ False テーブルB F1 あ か け TB1にTB2が含まれるデータを抽出して テーブルC F1 あい けこ をつくりたい。 DoCmd.RunSQL "INSERT INTO テーブルC (F1) " + _ "SELECT F1 From テーブルA " + _ "Where F2=False And " + _ "EXISTS (SELECT * FROM テーブルB WHERE テーブルA.F1 Like '*テーブルB.F1*' );" としたのですが、追加件数は「0」です。 Likeの使い方が悪いのか、EXISTSが悪いのか? どのようにしたらTB3の結果を得られるでしょうか?

  • Visual BasicのProgressBerの設定方法

    mdbファイルにADOで接続して、テーブルのデータを他のmdbファイルのテーブルにINSERT INTO句で追加するプログラムを作成しました。ところがデータが多くて処理に数分を要することもあり、ユーザーがフリーズしたものと思って、強制終了してしまうという事態が度々あって困っています。 そこで、ProgressBerの追加を検討しているのですが、インターネットやヘルプでいろいろ調べても設定方法がわかりません。よいアドバイスを頂けないでしょうか?

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

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

  • VB6でのSQLでのアクセスデーターの追加について

    abc = "insert into 社員テーブル(コード,名前) values ('0002','Takeda')" c1.Execute abc 上記のようにプログラムで直接データーを入力すると データーは追加で登録できるのですが 下記のように、テキストボックス1(tx1.Text)とテキストボックス2(tx2.Text)にデーターを入力して、入力した 内容を追加しようとするとエラーになります。 どこが間違っているのでしょうか? abc = "insert into 社員テーブル(コード,名前) values (tx1.Text,tx2.Text)" c1.Execute abc

  • 【ACCESS】インポート定義を使わないCSVインポート

    ACCESS VBAにてMDBにSQL文でCSVデータをINSERTしようとしています。INSERT自体はうまくいったのですが、データの型をうまくそろえられません。2日程ネットサーフィンしているものの良いサンプルを見つけられません。有識者の方、ご存知でしたら是非教えてください! まず、CSVデータは以下のようなものです。 ===aaa.csv=== 00000001,2009/1/31 00000002,2009/1/31 ・ ・ A000001,2009/1/31 Z000002,2009/1/31 ========== これを 既存テーブル:aaa_TBLに取り込ませたく、以下のSQL文を書きました。 INSERT INTO aaa_TBL(カラム1,カラム2) SELECT FORMAT([aaa#CSV].F1,'0000000'),[aaa#CSV].F2 FROM aaa#csv IN 'C:\' 'Text;HDR=NO' これにて「0000001」と「000002」等のレコードは正常に取り込むことができましたが、「A000001」「B000002」等のデータは取り込まれず、NULLにて登録されておりました。 (aaa_TBL自体はカラム1=テキスト型、カラム2=日付型でCreateされております。) これを回避したく、いろんなサイトを訪問したのですが、ほとんどがインポート定義を使った方法を推奨しておりました。 しかしながら、私にはどうしてもインポート定義が理解できないんです! 「VBAにて○○.iniを作成する方法」などをよく見かけるんですが、できるだけ他の方法を検討したいと考えております。(今後、ACCESS VBAから他言語への乗り換えを考えているとか、他CSVにてインポートされるテーブルの数が30個程あるので、インポート定義ファイルの管理がつらいな・・・とか色々他にも理由はあるんですが・・・・) 何か良い方法はないでしょうか?! やはりインポート定義を作らないとだめでしょうか?! その場合、簡単なサンプルコードなどを頂けますと非常に助かります。。。(MSサイトのサンプルコードは理解できませんでした。。。) まだVBAを勉強し始めて2週間なので、色々突っ込みどころはあると思いますが、どうぞよろしくお願いしますm(_ _)m