• ベストアンサー

外部のテーブルデータを取り込むには・・・

WindowsXPで、アクセス97を使っています。 アクセス(a)ファイルには、テーブルデータ[T人材]があります。 アクセス(b)ファイルには、テーブルデータ[T社員データ]があります。 そこでやりたいのが、月に一度、(a)の[T人材]をコピーし、(b)の[T社員データ]へ情報を追加する。ということをしたいです。 イメージだと、(b)の[T社員データ]に毎月の情報がどんどん溜まっていくというかんじです。 更に、(b)に"取り込みボタン"みたいなものがあって、それをクリックすれば上記の作業をしてくれる。ということもできたら嬉しいです。 マクロの組み合わせで挑戦しましたが、私の知識では限界です。 どなたかおわかりになる方がいらっしゃいましたら、教えてください。 宜しくお願い致します。

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

  • ベストアンサー
noname#22650
noname#22650
回答No.2

バックアップをとってから試してみてださい。 (b)に(a)の[T人材]のリンクテーブルを作る [ファイル]→[外部データの取り込み]→[テーブルのリンク] (b)に追加クエリを作成する [挿入]→[クエリ]→「デザインビュー」で[OK] テーブルの表示は[閉じる] [表示]→[SQLビュー] SQL文を以下のように書き換える INSERT INTO [T社員データ] SELECT * FROM [T人材]; 適当な名前をつけて保存する 保存したクエリを実行すると[T社員データ]へ情報を追加できると思います。 後はボタンとマクロでこのクエリを実行するように作る。 テーブルのキーによってはこれではうまく動かないかもしれません。 動かない場合はテーブルの構造をもう少し詳しく教えてください。

mipomipo
質問者

お礼

#3でご指摘(リンクは容量が大きくならない)を受け、私の勘違いだったことが判明しました。 ということで、リンクをする方向で、上記の方法を使わせもらいます。 ご回答ありがとうございました!! ど素人でスミマセンデシタm(_ _)m

mipomipo
質問者

補足

スミマセン、私の説明不足でしたm(_ _)m リンクではなく、あくまでコピーがよいのです。 というのは、リンクだと、ファイル容量がとても大きくなってしまうのではないかと思うのです。 が、素人考えでしょうか? どんなものでしょうか・・・宜しくお願い致します。 追伸:SQL文は初めてなので、勉強させてもらいます。

その他の回答 (2)

回答No.3

リンクの場合リンク情報のみのため、データベースBのファイル容量が小さくなると思いますが?・・・間違ってますかね? また、コピーしたいのであればマクロの「オブジェクトのコピー」でインポートできるのではないでしょうか?

mipomipo
質問者

お礼

そうなんですかっ?! ど素人で、そのような知識が皆無なので、勘違いしていました^_^; だとしたら、リンクでやってみます。 他のことで容量をくっているのですね、きっと... 勉強になりました、ありがとうございました!!

回答No.1

単純な回答で参考になるかどうかわかりませんが、データベースBにデータベースA「T人材」のリンクを作成し更新クエリー・不一致追加クエリーを作成すればよいのではないでしょうか?

mipomipo
質問者

補足

スミマセン、私の説明不足でしたm(_ _)m リンクではなく、あくまでコピーがよいのです。 というのは、リンクだと、ファイル容量がとても大きくなってしまうのではないかと思うのです。 が、素人考えでしょうか? どんなものでしょうか・・・宜しくお願い致します。

関連するQ&A

  • フォームから2つのテーブルにデータを書き込みたい

    Accessで T_aテーブルとT_bテーブルがありそれぞれのフィールドが以下のようになっているとします。 T_a:フィールド名 データ型    ID  オートナンバー型    商品番号 テキスト型 主キー T_b:フィールド名 データ型    ID  オートナンバー型 主キー    商品番号 テキスト型 このときフォームから入力したデータをそれぞれのテーブルの商品番号に追加したいのですがどのようにすればよいのでしょうか。  よろしくお願いいたします。

  • Exce97でAccess97のデータを取り込む

    ExcelにAccessのテーブルのデータを取り込むマクロ作りたいのですが、Accessのデータを取り込むところから躓いています。2000などだと外部データの取り込みでできるのですが97だとありません。マクロで一発で取り込みをしたいのですが無理なんでしょうか?

  • エクセルのデータをアクセスのテーブルに移動入力する

    エクセルのデータをアクセスのテーブルに移動入力するVBA フォルダAにおいて、a1.xlsxというファイルがあり、 そのsheet1のセル(a,1)=1 A1が1 とします その値をアクセスのデータベース(これもフォルダAにあります)  b.accdbのテーブル1の フィールド1に入力したいときの エクセルマクロのVBAを御教示いただけると助かります さらに続けて フォルダAにおいて、a2.xlsxというファイルがあり、 そのsheet1のセル(a,1)=2 A1が2 とします その値をアクセスのデータベース上記と同じ  b.accdbのテーブル1の フィールド1に追加で入力したいときの エクセルマクロのVBA 以上わかると助かります よろしくお願いします win10 office365

  • アクセスの違うファイルデータをひとつのテーブルにしたい

    アクセス初心者です。 今回仕事でデータを分析することになったのですが、わからないので教えて頂きたいです。 あるデータをアクセス移行し、Aファイル Bファイルのアクセスファイルを作りました。 Aファイルのテーブル 商品NO  枝NO   出荷年月  店  商品 123    01    2007.08   東京  A 345    01    2007.08   大阪  A 567    02    2007.08   東京  B Bファイルのテーブル 商品NO+枝NO   店   担当者 12301       東京   山田 34501       大阪   鈴木 56702       東京   佐藤 C(作りたいテーブル) 商品NO  枝NO   出荷年月  店  商品  担当者 123     01   2007.08  東京  A   山田 345     01   2007.08  大阪  A   鈴木 567     02   2007.08  東京  B   佐藤 *Bの担当者項目をAに加えたい もしくは D(作りたいテーブル) 商品NO+枝NO   店   担当者 出荷年月   商品 12301       東京   山田  2007.08    A 34501       大阪   鈴木  2007.08    A 56702       東京   佐藤  2007.08    B *Aの出荷年月 商品をBに加えたい 私は AファイルにBファイルをリンクさせました。 その後、AとBのテーブルをリレーションシップしようと思いましたが、 KEYにしようと思った商品NOが Aでは 商品NO と 枝NOでわかれていたためわからなくなってしまいました。 CもしくはDを作る方法はあるのでしょうか? 他の社員がまったくアクセスを利用していない人なので、困っています。 長くなってすいません。

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

    バージョンはAccess2003です。 テーブルAとテーブルBがあります。 CSVからデータをインポートし、全データがテキスト型で保存されています。 テーブルBには最終的にデータを保存したいフィールドプロパティが定義されています。 VBを使ってテーブルAからテーブルBにインポートしたいと思っています。 テーブルAのデータをテーブルBの定義に合うように加工するにはどうすればいいのでしょうか? アドバイスよろしくお願いします。

  • Accessのリンクされたテーブルでリンク先ではデータを変更出来ないようにするには?

    AccessでAに元のデータベースファイルがあり、そこに社員一覧のテーブルがあります。Bでその社員一覧のテーブルをリンクで取り込みました。社員一覧テーブルはリンク先のBでは編集・変更など一切出来ないようにすることは可能でしょうか? 他にも、元データのテーブルを参照するだけの(変更不可)の方法があれば教えて下さいませ。 どうぞよろしくお願い致します。

  • accessのマクロでODBC接続で外部データをインポートしたいのですが

    accessのマクロでODBC接続で外部データを自動でインポートしたいのですがうまくいきません。「ファイルから外部データの取込みでインポート→ファイルの種類でODBC DATABASES()を選択し、コンピュータデータソース指定→テーブルを指定」ではできたのですが、マクロで以下のように設定したのですがうまくいきません。 アクション・・データベース変換 変換の種類・・インポート データベースの種類・・ODBC データベース データベース名 ODBC;DSN=ACSKNSM1DS;APP=Microsoft® Access;WSID=JYOHO08;DATABASE=ACSKNSM1;Trusted_Connection=Yes;TABLE=dbo.tbl_bank オブジェクトの種類・・テーブル オブジェクト名・・dbo_tbl_bank 変換先名・・銀行T テーブルの構造のみ変換・・いいえ ※銀行Tのテーブルはアクセスのテーブルを作成しました。 どうか宜しくお願い致します。

  • Accessのテーブルのリンクについて

    Access2002で、異なるファイル間でテーブルをリンクして使用しています。 「A」データベースと「B」データベースがあり、 「A」データベースのテーブルを「B」データベースへリンクさせています。 「B」には「A」からリンクさせているテーブルと同一の形式のテーブルがあり、 普段は「B」所有のテーブルを使用しているのですが、「保存」ボタンクリック時に 「A」からリンクさせているテーブルに「B」の内容をコピーするマクロを作成したいのですが、 値の代入がうまく行きません。 どうすればデータをコピーできるでしょうか。

  • Accsess テーブルを参照して別のテーブルにデータを取得する方法を教えてください

    初めて質問します。 アクセスでデータベースを作成しようと悪戦苦闘中です。 <質問> 元データとなる住所録テーブルAがあります。 テーブルBにテーブルAの情報+αのデータをフォームを使って入力したいのです。 (1)テーブルAにはコードがあり、テーブルBに入力する際に、そのコードを入力するとテーブルAからデータを取得でき、テーブルBにコピーとして取得したいです。 (2)また同じコードが複数ある場合は、別ウィンドウを 開きそこから選択してテーブルBにコピーしたいです。 (1)と(2)では方法が違うと思うのですが、どちらの場合も教えて頂けないでしょうか? DLookup関数を使うのでしょうか・・・? よろしくお願いします。

  • 異なる名前のテーブルにデータ移管をしたい

    こんにちわ。 データ移管の件で悩んでいます。 AとBというテーブルがあり、違いは名前だけで構造は全く一緒です。 Aには大量のデータが入っており、Bにはデータが全く入っていません。 今、このテーブルにAのデータを一度エクスポートして、後でBのテーブルに移管したいと考えています。 しかし、 exp ID/PW file = (エクスポートしたファイル名) table = A でデータをエクスポートし、 imp ID/PW file = (エクスポートしたファイル名) tables = B でデータを入れようとしたのですが、 IMP-00033: 警告: 表"B"がエクスポート・ファイルにありません というエラーになります。 AからエクスポートしたデータをBにインポートするにはどのようにすれば宜しいのでしょうか? 尚、今回は事情があり、create table B as select ... という方法は使えません。 宜しくお願いします。

専門家に質問してみよう