• 締切済み

Accessインポート時の契約・契約後廃止の管理

ある工事が必要なサービスを提供している会社に勤めてます。 毎月、工事完了(契約)した数を営業担当者ごとに数字を把握したいのですが 訳があって、一旦、Accessにインポートしたデータを、一定条件のものをクエリで抽出したものを エクスポートし、以降はエクセルを使用しております。 困ってるのはAccessにインポートするデータについてです。 現場で、なんらかの理由があって工事できなかったものも、一旦は工事が終わったように施工担当が工事完了データを送ってきてしまいます。(仕組み上、それを0にすることは今現在できません) そのため、一旦、「契約解除」のデータを打ち込んだうえで、再度「工事依頼」をすることになります。 よって、同じ月内で工事(中止)再工事(完了)したお客様のデータは (1)工事完了(3月11日) (2)廃止   (3月11日)※同日じゃない場合もあり (3)工事完了(3月31日)※翌月にずれこむ場合もあり ・・・と、3レコードできてしまうことになります。 また、 (4)廃止   (3月31日) (5)工事完了(4月5日) と、3月は「廃止」で終わってしまう可能性もあります。 お客様には決まったお客様番号があるのですが、上記の例だと、1ヶ月のなかで同じお客様番号のデータが重複してしまうことになります。 重複が無く、一番最新のレコード(3)または(5)が欲しいのですが、そのためには・・・ A:工事完了したもののうち、工事日の値が大きい方のレコードを優先してインポートする。 B:(1)の工事完了がインポートされた後、(2)のレコードにより、一旦消し込まれ、最終的に(3)または(5)がインポートされる。 C:インポート後になんらかの方法で古い方のレコードを除外する。 ・・・ぐらいしか思いつかないですが、どうすればいいか方法がわかりません。 (Aの場合は廃止の有無を考慮しない為、最新の工事日の後、廃止されてる可能性があってもわからないことになってしまうので、BかCの方が良いと思ってます。) 今は、一旦すべてインポートしたあと、重複クエリで重複しているものを探し、手作業で消していくくらいしか思いつきません。 (重複レコード数が結構多いので、手作業はかなり大変です) ※インポート時にテーブルのインデックスを「はい(重複なし)」にしてからインポートすれば重複しないデータベースになるんでしょうが、残るのが必ず工事日が新しいレコードなのかの決め手が無いので、その方法はできないでいます。(最悪、これができればいいんですが) 何か良い方法をご存知の方、よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

質問の意味や事実・情況が判りにくい。 質問者の会社の用語・事情・背景の意味・理由付けなどを捨てて、データ例で、ここのテーブルやクエリのフィールドの値やこのフィールドとこのフィールドとの関連や組み合わせの場合はとか、こういう場合は、こういう結果にしたいという風な模擬実例を質問に示して質問を書けませんか。 コンピュターというのはそういう割り切った、形式的な点、パターンで処理をするものです。 区別できる良いデータがないなら、それを区別したいなら、どうすれば区別できるのか、場合によっては人間が処理に先立って判断して、コードを入れるなどというのも、その後が自動で進むなら良い場合があるのじゃないですか。 余り自分の考えを入れて、>テーブルのインデックスを「はい(重複なし)」にしてからインポートすれば重複しないデータベースになるんでしょうが、残るのが必・・なんて専門用語をつかわず、初心者であれば、自分の方法や考えを前面に出さずに、現状の説明と鳴ってほしい結果の説明に力を注いで、やり方は回答者にまかせてみたらどうです。

pgg500
質問者

補足

>質問の意味や事実・情況が判りにくい。 わかりにくさだったら、お互い様だねw >質問者の会社の用語・事情・背景の意味・理由付けなどを捨てて、データ例で、 >ここのテーブルやクエリのフィールドの値やこのフィールドとこのフィールドとの関連や >組み合わせの場合はとか、こういう場合は、こういう結果にしたいという風な模擬実例を >質問に示して質問を書けませんか。 書いたつもりだったんだけど、あなたには難しかったようだねww >コンピュターというのはそういう割り切った、形式的な点、パターンで処理をするものです。 そんなことわからないやつがAccess使うわけないじゃん。 ちったぁ、考えろ! >・・なんて専門用語をつかわず、初心者であれば、 この程度の質問文で「専門用語」? 初心者は君だろ? 君みたいなのが、カンニング野郎にいい気になってわかることだけ回答してんだろwww >やり方は回答者にまかせてみたらどうです。 「回答者」じゃないんだったらひっこんでろ! ※とりあえず自己解決!  不愉快になった分、損した!!

関連するQ&A