- 締切済み
Accessでデータ追加のクエリについて
「コードNO」(13桁数値)「開始日付」(yyyymmdd形式の数値)「変更日付」(yyyymmdd形式の数値)「終了日付」(yyyymmdd形式の数値)の4つのデータから成るCSVファイルがありまして、そこに毎月同形式の追加のファイルが発生するのです。開始日付はそれぞれで、変更日付・終了日付は初期値が「99991231」です。新規のコードNoについては追加して、重複するものは上書きしていきたいのです。 私はAccess2000を使ってやってみました。テーブルデータにして追加クエリで追加した後、選択クエリでグループ化を使い、「コードNo」をグループ化、「開始日付」はずっと変わらないので取りあえず「最小」、終了は1度しか変わらないのでやはり「最小」、問題は「変更日付」です。度々変わって行くので初期値を除く最大、又は上位2番目の数値というようにしたいのです。そんな設定の仕方が可能でしょうか? まったく別のやり方でも、Accessでなくても(EXCELなら97)良いのでアドバイスをお待ちしてます。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- selenity
- ベストアンサー率41% (324/772)
回答No.1
1.CSVからAcc2kの作業用テーブルへインポート 2.更新クエリーで既存データをアップデート 3.追加クエリーで新規データを追加 という手順で出来るのではないでしょうか? このとき、手順2)では既存のテーブルと一致する 「コードNO」を持つレコードだけを対象にします。 手順3)ではテーブル同士の結合方向を変更する ことにより差分データのみを取得できます。
お礼
結局、2の更新クエリー処理の後、不一致クエリーで差分データを抽出し、それを追加クエリーで既存テーブルに追加しました。できればテーブル同士の結合方向を変更することで差分データのみを取得したいんですが、やってみると差分だけでなく全部取得してしまうんです。ともあれ、仕事上は取り合えず解決しました。ありがとうございました。
補足
さっそくのアドバイスありがとうございます。さっそくやってみました。2.「更新クエリーで既存データをアップデート」までできてたんですが、3.「追加クエリーで新規データを追加」で「因数が不足です」とエラーメッセージが出るようになり、その後は何をやってもこのメッセージが出てしまいます。テーブルのコピーでもリレーションを保存するにもこれが出て・・・、はまってしまいました。これは別の質問にすべきでしょうか?