プロが教える店舗&オフィスのセキュリティ対策術

OSはWindows98SE
SoftはAccess2000です。

現在Accessに、約5000件くらいの既存データがあります。(主キー:主索引)
-----------------------------------------------------------------
 主索引| 発注番号| 発注日 |担当者|販売先|商品番号|商品名・・・  
-----------------------------------------------------------------
00000001|0000000111|20011001| 03 |1001| A001 |ボイド
00000002|0000000222|20011005| 05 |1003| B004 |塩ビパイプ
  ・     ・     ・     ・   ・    ・    ・
  ・     ・     ・     ・   ・    ・    ・

そこへ約50件くらいのTXTデータを新しく追加及び、既存データに対して追加変更があったデータに修正(上書き)をしたいのですがどなたか教えていただけないでしょうか。
自分なりに、更新クエリを使ってみたり、VBの本を読んだりしたのですがよくわからず悩んでいます。。
何かヒントとなるものでも結構です。
説明が下手で申し訳ありませんがどうぞよろしくお願い致します。

A 回答 (6件)

まず、どこまで解かってて、どこから解かっていらっしゃらないのか解かりませんが(^^;、一から説明してみたいと思います。



現在AccessにあるテーブルをA、約五十件というデータをBというテーブルにインポートしたとします。

Aに無いデータを追加する方法・・・フィールド名・数共に同一であると仮定してあります。
この場合、不一致クエリを使用してAに含まれていないデータを抽出後、そのデータをテーブルに追加クエリを用いて追加します。
具体的には(今後のためにウィザードは使用しません)、
1)新規クエリをデザインビューで開く。
2)A、Bを「テーブルの表示」より追加する。
3)Aの「主索引」にBの「主索引」をドラッグする。
4)結合線が表示されるのでダブルクリックし、「結合のプロパティー」を表示する。
5)「Bの全レコードとAの同じ結合フィールドのレコードだけを含める」を選択。
6)Aの「主索引」をダブルクリックしてクエリにフィールドを追加。
7)フィールドの「表示」チェックをはずし、「抽出条件」に「Is Null」と記述。
8)Bの「*」をダブルクリックして全てのフィールドをクエリに追加。

ここまでで不一致クエリ(Aに無いデータの抽出)は終了です。適当なクエリ名(仮にIQ_Cとします)をつけて保存します。
このクエリを追加クエリに変更します。

9)IQ_Cをデザインモードで開く。
10)メニューバーより「クエリ」→「追加」を選択。
11)追加先を要求されるのでAを選択。
12)抽出条件に「Is Null」が入力されている列の「レコードの追加」(主索引となっていると思いますが)を削除(Delete)

これで完成です。
デザインモードで一度開いた後にビューに切り替えると追加されるレコードが表示されます。また、クエリをダブルクリックすれば追加クエリが実行されます。

長くなりましたが、お役に立てれば幸いです。
    • good
    • 0
この回答へのお礼

ご丁寧なアドバイスありがとうございます。
また、返事がおそくなり申し訳ありません。
いただいたアドバイスなら私にも出来そうですので早速実行させていただきます。
本当にありがとうございました。

お礼日時:2001/10/10 09:02

本は2冊位用意した方が良いと思います。


1.アクセスの操作、入門用
 エクスメディア社 
 長図解 access2000 クエリー&応用編

 http://www.x-media.co.jp/

2.アクセスの少しこったことをしたい用
 秀和システム社
 access2000パーフェクトマスター

 http://www.shuwasystem.co.jp/

私の場合は、この2冊でした。しかし本屋で立ち読みして比べて見るのが良いかと思います
どれにせよ山は高いです。こつこつやりましょう。

魔法使いの開発工房というHPも紹介します

参考URL:http://www.people.or.jp/~Niki/
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
返事が遅くなりまして申し訳ありません。
本と、HPの紹介ありがとうございます。
本は早速本屋さんに行ってこようと思います。
また、魔法使いの開発工房は私も最近、入門&基本コースをこつこつとはじめ
とても勉強になっています。
山は高いですが、一つずつ消化しながらがんばって行きたいと思います。
そして私もk ebaさんやWatapo3の様にわかりやすく他の人にアドバイスが出来るようになりたいと思います。
本当にありがとうございました。

お礼日時:2001/10/10 10:01

>同じテープルに複数のクエリを


 別にかまいません

使用考え方
 1.テーブルを更新クエリを使用して並列処理で使う
  1)発注番号更新クエリー
  2)発注日更新クエリー
  のように使う
 2.分類毎にクエリーを直列処理で使う
  1)発注日を指定するクエリー
  2)1)のクエリーをインプットにして発注日、担当者クエリー
  のようにつかう

なにか有れば補足して下さい。  
 

この回答への補足

重ねて回答ありがとうございます。
また、お返事が遅くなりすみません。
知識不足で申し訳ありませんがクエリ(SQL?)に詳しくないもので、
早速、やってみようと更新クエリを選択したまでは良かったのですが、記述する用語(文法?)がわからずに悩んでしまいました。f^^;
どこかにサンプル等のあるところなどございましたら教えていただけるとうれしいのですが、たびたびすみませんがよろしくお願いいたします。

補足日時:2001/10/09 19:10
    • good
    • 0

>マクロはどのマクロを使用したらよいのでしょうか?


 ここで言うマクロとは、
 テーブル、クエリー、フォーム、レポート、マクロのマクロです
 具体的に機能は、アクセスの機能を登録(カタログ)しておく物です
 
例)更新マクロ
 1.メッセージの設定 (いいえ)
 2.テーブルを開く  (更新TBL)
 3.コマンドの実行  (全てのレコードの選択)
 4.コマンドの実行  (レコードの削除)
 5.テキスト変換   (更新TBL)
 6.クエリーの実行  (更新クエリー)

以上です
がんばって下さい。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
また、わかりやすい回答で助かりました。
早速がんばってやってみます!
本当にありがとうございました。

お礼日時:2001/10/09 15:29

TXTデータにリンクを貼り、両方に共通のキーがあるのであれば、重複クエリ・更新クエリ・追加クエリ等でVBAを使わずともできるのではないのでしょうか。



但し、とりあえず何か別の新たなテーブルに一度インポートしてから同様の操作をした方がレスポンスは上がると思いますが・…

共通の主キー等が記述されていませんので具体的にはアドバイスできませんが(^ ^;

この回答への補足

早速のアドバイスありがとうございます。
説明が足りずすみません。共通の主キーは「主索引」となっています。
知識が浅く申し訳ありませんが、同じテープルに複数のクエリを使うことが出来るのでしょうか?
お手数ですが、そのあたりをご教授いただけたら幸いです。

補足日時:2001/10/09 14:34
    • good
    • 0

TXTのデータで直接修正するのは無理があると思います。


したがって
TXTのデータを更新TBLにインポートする
原本TBLと更新TBLで更新クエリーを作成して
更新する
と言う案ではいかがでしょうか
ステップ数は多くなりますがマクロで登録しておけばクリック1発です
がんばって下さい。
    • good
    • 0
この回答へのお礼

早速のアドバイスありがとうございます!
一度、TXT自体をテーブルにしてそれから更新クエリーをおこなう!
ぜんぜん思いつきませんでした。
ありがとうございます!
大変恐縮ですが、マクロはどのマクロを使用したらよいのでしょうか?
ご教授いただけたら幸いです。

お礼日時:2001/10/09 14:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す