• 締切済み

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

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

みんなの回答

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

質問の内容に沿ってだと データテーブル用MDBのテーブルをTest0と作業用MDBの作業用テーブルをTest1とした場合。 Test0を作業用MDBのテーブルにリンクさせ抽出条件によりTest1へレコードをコピーして作業する。 更新する際は キーを a 更新するフィールドを b c として UPDATE Test0, Test1 SET Test0.b = Test1!b, Test0.c = Test1!c WHERE ((([Test0]![a])=[Test1]![a])); このクエリを実行して更新できませんでしょうか。 クエリ後Test1のレコードを削除する。

pooooooh
質問者

お礼

回答ありがとうございました。 自分で試行錯誤して、なんとかできるようになりました。 クエリの画面上にテーブルをふたつ登録していないことが原因でした。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • リンクしているテーブルの上書き

    はじめまして。 現在Accessで出勤管理システムを作っています。 処理の流れとしては 別mdbにあるテーブルの内容をクライアント側のmdbにあるワークテーブルにコピー ↓ 勤務情報を入力or編集 ↓ すべての入力or編集が終わったら、ワークテーブルの内容を元のテーブルにコピー という感じなのですが、最後の処理(元のテーブルにコピーする)の際に DoCmd.CopyObject "パス\data.mdb", "T勤務情報", acTable, "WK勤務情報" とやってコピーしているのですが、 「指定された名前は、このデータベースに含まれる同じ種類のオブジェクトで使われています。 既存の'T勤務情報'テーブルを置き換えますか?」 というダイアログが表示されます。 このダイアログを表示させずに自動的に上書きさせる方法はあるんでしょうか? どうかご教授お願いしますm(__)m

  • Access2010 更新データのレポート表示

    Access初心者です。 新規データを入力しても、レポートが更新されずに困っています。 (テーブルや、フォーム内では、データは更新されています) エクセルデータをAccess2010にインポートして、元テーブルを作成しました。 元テーブルを元に、フォーム・レポート・検索クエリ(年度別・分類別)等を作成しました。 ここまでの作業で、新規データの入力はありませんでした。 ところが・・・ 新規データをフォームに入力すると、元テーブルは更新されますが、既に作成しているレポートには、新規レコードが表示(反映)されません。 更新されている元テーブルを元に、もう一度レポートを作成しても、新規レコードは表示されません。 ホームタブの「全て更新」ボタンをクリックしても、新規レコードはレポートには表示されません。 尚、Access初心者です。 「更新クエリ」なるものは、作成していません。というか、「更新クエリ」って何?状態です。 また、クエリそのものが良くわかっておらず、作成したクエリは全て「検索」のためのクエリで、抽出条件に「 [] 」を入力したり、フィールドに「 年度: Year(DateAdd("m",-3,[発送日])) 」を入力したりしかできません。 勿論、リレーションシップって何???状態です。 どうしたらよいのでしょうか??? どなたか、初心者でもわかるように、教えていただけないでしょうか? 宜しくお願いいたします。

  • ACCESSリンクテーブルでデータを入力しても表示されない。

    ACCESSリンクテーブルでデータを入力しても表示されない。 MS ASSECC2003を使っています、 ORG_data.mdbに元データがあります USER.mdbからリンクテーブルで上記ORG_data.mdb のテーブルを参照しています。 USER.mdbを開いてORG_data.mdbのテーブルに新規データを追加しても USER.mdbをいったん閉じて再度開かないと追加されたデータが見えません 元データのORG_data.mdbのテーブルにはデータが追加されいますが、 リンクテーブルの設定とかあるのでしょうか? USER.mdbで追加したデータがすぐに更新されて見れる方法はありませんか? どなたかお知恵を拝借させてください。 リンクテーブルで参照

  • Access、複数のテーブルからデーターを抽出する

    Access初心者です。 いくつかのテーブルがあります(日付順に用意されています) そのテーブルから、指定のセル(といっていいのでしょうか) より、データーをクエリとして抽出したいのですが、簡単なやり方はあるのでしょうか? 例として、 テーブル名 [0301]、[0302]、[0303]、[0304]、[0305]、・・・・・・・・。という5つのテーブルがあります。 1つのテーブル内は、このようになっています。 ------------------------------------- A B C D E F G 1 2 3 4     11 22 33 44 55 66 5 ------------------------------------- この5つのテーブルより、「B4」から「F4」までのデーターのみを ------------------------------------- 0301 ・・・・・・・・・・・・・・・・・・・・・・・・ 0302   ・・・・・・・・・・・・・・・・・・・・・・・・ 0303   ・・・・・・・・・・・・・・・・・・・・・・・・ 0304 -------------------------------------- といったように取り出すことはできますか? どうぞ宜しくお願い致します。

  • SQLサーバーのテーブルの値が更新できません

    お尋ねします。 SQLサーバー2005にDB1というデータベースにdbo_TB1というテーブルがあります。そのテーブルの特定の列の値を更新したいので、AC.mdbというアクセスのファイルにテーブルのリンクをし、更新したいファイルを用意して、アクセスのクエリでデータを更新しようとしましたところ、更新ができませんでした。  dbo_TB1を更新可能にするためには、どのようにして権限を与えればいいでしょうか。  SQLサーバー2005の知識を習得しようと学習を始めたばかりで、よく理解できていません。よろしくお願いします。

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

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

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

    こんにちわ。 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を知っていましたら、 教えてください。 よろしくお願いします。

  • アクセスのデータを取り込みたい

    アクセスのデータを取り込みたい アクセスのクエリも理解できない、超初心者です。 db1.mdbのテーブル1のA列B列のデータだけをdb2.mdbのテーブル2に取り込みたいのですが、やり方が分かりません。先輩に聞いたら、マクロを使えば簡単だよ、あとは自分で調べなと言われ、まったく見当がつきません。 どなたかご教授願います。よろしくお願いいたします。

  • access インポート時、既にあるデータは上書き

    accessで、データをインポートする時に、すでにあるデータは、上書きしたいです。 (既にあるIDの場合上書き、ないIDの場合追加されるようにする。) そこで、検索すると、「更新クエリと追加クエリ」で出来ることがわかりました。 参考にしたページのアドレス http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1224631687 ここからが質問なのですが、 さらに、上書きするデータ(すでにあるデータ)は、バックアップとして別テーブルを作って そこに更新前のデータをためていきたいのですが、どうすればいいでしょうか? よろしくお願いします。

  • accessテーブル作成クエリについて

    テストで6個のテーブルから必要なテーブルを作成するクエリを作りました。 本日新しい本番データができたのでこのDBにテストでOKだったクエリを「ファイル」-「外部データ。。。」-「インポート」しました。 クエリを実行したところレコードがゼロという結果になりました。 テストでOKだったクエリを「コピー」-「貼り付け」しても同じ結果でした。 クエリを別のDBで使用するにはどうしたらよいのでしょうか? 毎月データが更新されるためDBの名前は、「工場0906」「工場1003」のように工場+月日となります。 よろしくお願いします。