過去の桐井戸端BBS (桐ver.8)
6770 重複レコードを防ぐ方法 NANA 2000/07/07-14:45
ご無沙汰しておりますNANAです。
しばらく桐から離れておりましたが、新しい仕事のために、またもや桐で販売管理を作成することになりました。

今回は、作成する販売管理を自分で使用するわけではなく、担当者が何人もいて、複数で使うため、
重複データが入力できないように厳重に作成しなくてはなりません。

重複レコードを防ぐというのは、
たとえば、Aサンがデータを入力しました。
Aサンに別の仕事が入ったために、Bサンがデータの入力を変わりにすることになったとき、
先ほどAサンが入力したデータを、まだ未入力だと思って打ってしまう。

つまり、同じ取引内容の重複と言う意味です。
過去の井戸端BBSを手繰ってみましたが、
そう言った内容のものが見あたりませんでしたので、
どなたかお分かりになる方がいらっしゃいましたら、
よろしくお願いいたします。

頭の切り替えに苦労しているNANAでした<(_ _)>
6771 Re:重複レコードを防ぐ方法 宮城 2000/07/07-15:06
記事番号6770へのコメント
NANAさん、こんにちは。

重複を判定するキー項目を[index]とします。この[index]により昇順に整列させる「索引」を作成し、
重複禁止にチェックをいれます。あとはこの索引を使った並び替えを実行してやれば、
同一[index]の行の追加はできなくなります。

6774 Re:重複レコードを防ぐ方法 NANA 2000/07/07-16:49
記事番号6771へのコメント
宮城こんにちは(^-^)
いつもいつもありがとうございます<(_ _)>
これからも日々邁進していきたいと思いますので、
よろしくお願いいたします。
6780 複数人による入力での重複入力の防止 佐田 守弘 2000/07/07-23:35
記事番号6770へのコメント
NANAさん
桐の重複データの入力禁止の方法は、#6771で宮城さんが書かれている様に、索引による重複禁止の設定があります。
しかしながら質問の主旨は、この索引による重複禁止で目的が達するのかどうか、考えてみる必要があると思います。
むしろ、桐によるシステム設計の前の段階であるシステム分析の課題と思いますので、
この点について補足させて頂きます。
■質問の主旨
まず最初に質問の主旨を再度確認しておきます。
>Aサンに別の仕事が入ったために、Bサンがデータの入力を
>変わりにすることになったとき、先ほどAサンが入力した
>データを、まだ未入力だと思って打ってしまう。
>つまり、同じ取引内容の重複と言う意味です。
との事で、「既入力の売上伝票を別の人が重複して入力する事がないかのチェックを行いたい」であると考えます。

■桐のシステムで可能な重複チェックとその限界
●伝票番号に相当するユニークな値は何か
ここで課題となるのが、何をもって同一データと判断するかです。
この点がクリアにならないと、重複禁止の方法は成り立たないと思います。
重複して存在する事がないユニーク(唯一)な値があれば、この項目値に重複禁止の索引を設定する事によって、
重複入力の禁止が行えます。
しかしそのためには、使用する売上伝票を印刷(印刷屋さんに頼んで印刷して貰うという意味)する段階で、
連番号を印刷しておいてもらう事が必須になります。
伝票の記入者が手書きで連番号を書くのでは、伝票番号が重複しない保証はできません。
●売上データはユニークな値になるのか
売上データを構成する日付、相手先、品名、数量などは、これを全て組み合わせても、
ユニークな値にはなり得ないと考えます。
「同じ日に同じ相手に同じ商品を同じ数売る事はまずあり得ない」は、経験的な事であって、
それが保証されている事にはなりません。
ユニークな値であるためには、「同じ日に同じ客に同じ売上を重複して立てない」事が
厳格なルールとして決められていなければなりません。
同じ相手から同じ商品の注文が追加で来たら、異なる数を売るか別の商品を売る。
万一同じ売上を立てたら懲戒処分する。そんな馬鹿げたルールが必要になります。
●データが重複する可能性は否定できない
印刷済みの伝票番号を使う以外に、売上データだけではデータが重複して存在しうる可能性はどうしても残ります。
つまり、システム設計でこれを解決する方法はないと考えます。
■システム分析(SA)の課題
つまりこの質問は、システム設計以前の業務のあり方を見直すシステム分析の課題と考えるべきでしょう。
詳しい話は割愛しますが、例えば、
@入力の引継のルールを明確化し、入力済みと未入力を峻別できる様にする。
例えば伝票入力であれば、入力が終わったら検印を1枚ずつ押印するのもその1つの方法です。
A別途手作業で伝票の枚数と合計額を算出し、入力結果と照合する。
コンピュータを使う意味を否定するような考え方ですが、これもあり得ます。
B別のオペレータがダブル入力し、その結果を照合する。
入力はまずジャーナルファイルに行い、2つの入力結果を照合して、
同じ内容が確認されたら、これをマスタファイルに読み込みます。

佐田守弘(KS-00119)
6815 Re:複数人による入力での重複入力の防止 NANA 2000/07/10-15:16
記事番号6780へのコメント
佐田さんご指摘ありがとうございます。
やはり、コンピュータで処理すべき部分、
手作業で行うべき部分など、
システム作成前の取り決めをしてからでないと、と感じました。
今回は押印の案を使わせていただきます。

戻る