Accessフォーラムの過去ログIndexページAccess超初心者対象ForumAccess初級者対象ForumAccess初・中級者対象ForumAccess VBA Tips ForumDAO、ADO、SQL Forumサポートフォーラム

     

No.252 追加クエリでのデータ追加について

■252 /inTopicNo.1)  追加クエリでのデータ追加について
    □投稿者/ くみ -(2002/02/28(Thu) 11:16:26)

       こんにちは、くみです。
       winME、Access2002 or 2000です。

       最近、やっと追加クエリというものを見つけまして(遅い)使ってみたのですが……。

       やりたいこととしては、Aテーブルから条件にあったものを抽出して、Bテーブルに追加する……ということです。
       ただそのまま使うと、実行するたびに同じものが追加されてしまい、追加先のBテーブルで重複が生じてしまいます。

       いちいちデータを削除する訳にもいきませんよね。
       不定期でデータが追加され、何度も実行される処理には向かないのでしょうか?
       それとも何か設定があって、それを見落としてしまっているのでしょうか。

       やれることが同じなら、他の方法でもかまわないので、教えて下さい。
       お願いします。



■253 /inTopicNo.2)  Re[1]: 追加クエリでのデータ追加について
    □投稿者/ まさ7251 -(2002/02/28(Thu) 12:07:18)

      >  こんにちは、くみです。
      >  winME、Access2002 or 2000です。
      >
      >  最近、やっと追加クエリというものを見つけまして(遅い)使ってみたのですが……。
      >
      >  やりたいこととしては、Aテーブルから条件にあったものを抽出して、
      > Bテーブルに追加する……ということです。
      >  ただそのまま使うと、実行するたびに同じものが追加されてしまい、
      > 追加先のBテーブルで重複が生じてしまいます。
      >
      >  いちいちデータを削除する訳にもいきませんよね。

      ”追加”ですから、当然何度も同じ追加クエリを実行すれば重複します。
      そして、重複させないためには、データを削除するしかありません。

      >  不定期でデータが追加され、何度も実行される処理には向かないのでしょうか?
      >  それとも何か設定があって、それを見落としてしまっているのでしょうか。

      既にBテーブルにあるものは追加しないような追加クエリを作るしかないかと思います。



■255 /inTopicNo.3)  Re[1]: 不一致クエリを使用
    □投稿者/ まる -(2002/02/28(Thu) 12:14:27)

      こんにちは、まるです。
      Win98SE,Access2000です。

      以下のようにすれば、出来ます。

      テーブルの名は「Table1」「Table2」それぞれ同じ構造と仮定。
      フィールドは「ID」「Field1」「Field2」
      「ID」をオートナンバー型の主キー
      「Field1」「Field2」のデータ型は何でもいいです。
      「Field1」はすでに登録済みか確認するフィールド、Null値がないと仮定。

      で、クエリのSQL文

      INSERT INTO Table1 ( Field1, Field2 )
      SELECT Table2.Field1, Table2.Field2
      FROM Table1 RIGHT JOIN Table2 ON Table1.Field1 = Table2.Field1
      WHERE Table1.ID Is Null;

      以上です。

      SQL文の使い方は、クエリを新規作成して、
      SQLビューで開いて、「SELECT 〜」と書いてあると思うので、
      上記式に置き換えてください。


      この方法は不一致クエリを使用した方法です。
      クエリの[新規作成]ウィザードの中に
      「不一致クエリウィザード」というのがあります。
      それを追加クエリにした例です。


      # これだけでわかるかな?

      ではでは ^^)/~~



■264 /inTopicNo.4)  Re[2]: 不一致クエリを使用
    □投稿者/ くみ -(2002/03/01(Fri) 13:44:16)

       こんにちは、くみです。
       winME、Access2002 or 2000です。

       まさ7251さま、まるさま、ありがとうございます。
       早速試してみることにします。

       少し時間がかかってしまうかも知れませんが、結果は追ってご報告致します。



■474 /inTopicNo.5)  Re[3]: 不一致クエリを使用
    □投稿者/ くみ -(2002/03/14(Thu) 11:58:29)

       こんにちは、くみです。
       winME、Access2002 or 2000です。
       ご報告が遅れて申し訳ありません。

       まるさまの教えて下さったやり方で、ばっちりでした☆

       ……本当に色々とありがとうございます。
       今後ともどうか宜しくお願いします☆



■475 /inTopicNo.6)  Re[4]: 不一致クエリを使用
    □投稿者/ くみ -(2002/03/14(Thu) 11:59:06)

       すいませんっ。
       チェック忘れです。

このAccessフォーラム過去ログ集は、Microsoft Access Club が運営しています

動画配信(ダウンロード、ストリーミング)対応の専用レンタルサーバー。データセンター設置場所はアメリカ合衆国です。: 動画サーバードットコム
動画配信(ダウンロード、ストリーミング)対応の専用レンタルサーバー。
データセンター設置場所はアメリカ合衆国です。
100Mbps〜1Gbpsまで対応できます。

 

ページの先頭へ 前ページへ戻る