過去の桐井戸端BBS (桐ver.9)
22725 同じデータを別々の人が入力してそれを照合することで入力チェックを行うというようなことをしたい 片岸 謙二 2003/10/11-18:20
伝票入力のチェック方法について質問します。
今までは伝票から入力したデータを誤入力チェックのため、
入力データを紙に出力して伝票とチェックしていましたが、
時間がかかる上にチェック漏れが発生します。

データ代行入力している会社の人によると、同じデータを別々の人が入力して、
それを照合することによってチェックすると聞いたので、
桐でできないかと思い試してみました。

全く同じデータの入った、2つの表の片方のデータ5件を変えて、
もう一方の表で併合(絞り込み)、全項目を照合にして実行し、その後、絞り込み(補集合)で、
5件のデータは出てきました。

しかし併合元表のデータを削除した場合は出てくるのですが、元表のデータを削除した場合は出てきません。
何かいい方法はないでしょうか?

22726 Re:データの照合について うにん 2003/10/11-19:23
記事番号22725へのコメント
>しかし併合元表のデータを削除した場合は出てくるのですが、元表のデータを削除
>した場合は出てきません。

行数を比較すればどっちが足りないか(重複して入力の場合も?)わかるので、多い方に併合すればよいのでは?

22736 Re:データの照合について 佐田 守弘 2003/10/13-00:31
記事番号22725へのコメント
片岸 謙二さん
おそらくダブルパンチによるチェックを行いたいのだと思いますが、
次の様になるのかと思います。

・2通りに入力した表を比較する
この場合には、同じ順序で入力するか、伝票番号で並べ替えれば、同じ順になる様に入力する必要があります。
一括処理を使って、2つの表を開き、先頭から1レコードずつ対応する項目毎に値が同じであるかを比較して行きます。
どこかが異なっていたら、チェック用の項目に、その違いを記録して行けばよいでしょう。

・1つの表で比較する
同じ項目を2通り作っておきます。名前なら[名前1]と[名前2]という様に、
全項目をダブルで作る訳です。
まずは[名前1]だけを入力するフォームを使って、一通りの入力を行います。
次いで、[名前1]の表示と、[名前2]の入力を行うフォームを使って、対応する別項目の方に入力します。
そして、対応する項目どうしの値が異なっていたら、アラームを表示するなどの方法を行えば、エラーが発見できるかと思います。

・2つの表を結合させて比較する
最初に述べた方法と同じで、2つの表に入力を行った後、2つの表を結合して1つの表とします。
この時点で、2番目に述べた様な表になります。
この結合表で、対応する項目値が同じかを比較すれば、チェックができます。

佐田守弘(KS-00119)
22742 Re:データの照合について 片岸 謙二 2003/10/13-10:17
記事番号22726へのコメント
回答ありがとうございます。

>行数を比較すればどっちが足りないか(重複して入力の場合も?)わかるので、
>多い方に併合すればよいのでは?

併合を使用する方法では桐の仕様上、仕方のないことなのですね。
念のために、多い方と少ない方それぞれに併合することも検討したいと思います。

22743 ダブルパンチについて 片岸 謙二 2003/10/13-10:43
記事番号22736へのコメント
佐田 守弘さん回答ありがとうございました。

>・2通りに入力した表を比較する
>この場合には、同じ順序で入力するか、伝票番号で並べ替えれば、同じ順になる様に
>入力する必要があります。

複数の人で入力するので1番目と、3番目がいいように思います。
「先頭から1レコードずつ対応する項目毎に値が同じであるかを比較していく方法」とありますが、
伝票番号に誤入力があって順番が変わってしまった場合や、入力漏れがあった場合にも対応できるのでしょうか?


22757 Re:データの照合について うにん 2003/10/13-20:08
記事番号22742へのコメント

>併合を使用する方法では桐の仕様上、仕方のない床なのですね。
>念のために、多い方と少ない方それぞれに併合することも検討したいと思います。

少ないほうに併合するなら、絞込みでなく挿入の併合にすれば足りないであろう行が追加されます。

22766 Re:ダブルパンチについて 佐田 守弘 2003/10/14-00:34
記事番号22743へのコメント
片岸 謙二さん
>伝票番号に誤入力があって順番が変わってしまった場合や、入力漏れがあった場合にも対応で
>きるのでしょうか?

伝票番号が間違ってしまえば、2通りの入力データで対応する番号が存在しないので、
確実にエラーであることが分ると思います。
伝票番号の間違いで、行データの順序が狂ってしまった場合には、前回のコメントで1)に述べた上から
順に各項目を比較する方法では、間違った行どうしを比較することになってしまうので、正しい比較になりません。

一方、伝票番号で結合する方法であれば、行の順序に関係なく、同じ伝票番号どうしの項目を
1つの行に結合できますから、対応する項目どうしの比較ができます。
なお結合条件には、「全レコードを抽出」にチェックを入れる事がポイントです。
これによって、伝票番号が間違っていると一方の項目にはデータがあり、
他方には空白値のレコードができ、結合のキー項目とした伝票番号が誤っている事が分るはずです。

つまり前回述べた3つの方法のうち、3番目の結合を使う方法が最も確実かもしれません。
なお、この方法について前回は書きませんでしたが、結合表の定義にて、
計算項目としてチェック様の項目を作り、ここに、
[名前]=[名前1] .and [住所]=[住所1] .and ・・・
という様に、結合表上の比較する項目どうしの値が全て同じであるという式を設定します。
この式によって、全項目が一致すれば論理値の真である1が、いずれかが間違っていると偽である0の値になります。
値が0であれば、赤い色で表示するなどの設定を行えば、間違っている行が分ると思います。

佐田守弘(KS-00119)
22800 ありがとうございました 片岸 謙二 2003/10/14-23:53
記事番号22757へのコメント
いろいろアドバイスありがとうございました、絞り込みの併合ばかり考えていましたから、
挿入の併合は気がつきませんでした、試してみたいと思います。
これからもよろしくお願いいたします。
22801 ありがとうございました 片岸 謙二 2003/10/15-00:04
記事番号22766へのコメント
3番目の結合を使って実験してみました、結合表は使ったことがなかったので手間取りましたが
「全レコードを抽出にチェックを入れる事がポイントです」とあったので、その通りにしたら、
片方の入力漏れもすべて出てきて、うまくいきました。
計算項目の「 .and 」の所でエラーがでてまだ成功していませんが、マニュアルを見て勉強したいと思います。
どうもありがとうございました、これからもよろしくお願いいたします。

22802 想定されるエラー 佐田 守弘 2003/10/15-00:37
記事番号22801へのコメント
片岸 謙二さん
>計算項目の「 .and 」の所でエラーがでてまだ成功していませんが、
「.and」の前後にスペースを入れてありますか?

もしもうまくできない様でしたら、[チェック1],[チェック2],・・・の様にチェック項目を
複数作り、名前は名前、住所は住所と言う様に、1項目ずつ比較しても良いと思います。
この方が、どの項目で間違っているかすぐに分るので便利かもしれません。
言い忘れておりましたが、この条件式が入る計算項目のデータ型は数値型ないしは整数型です。

佐田守弘(KS-00119)
22833 エラーについて 片岸 謙二 2003/10/16-12:38
記事番号22802へのコメント
佐田 守弘さんありがとうございます、
>「.and」の前後にスペースを入れてありますか?
>この条件式が入る計算項目のデータ型は数値型ないしは整数型です。
スペースも入れてデータ型も整数になっていましたがだめでした、その後いろいろ試してみましたが、
どうも結合表ではエラーになるようです、
ちなみに「#合計([チェック1],[チェック7])」もだめで、[チェック1]+[チェック2]+......、[チェック6]+[チェック7]にしないと
計算項目に入りませんでした。

>もしもうまくできない様でしたら、[チェック1],[チェック2],・・・の様にチェック項目を
>複数作り、名前は名前、住所は住所と言う様に、1項目ずつ比較しても良いと思います。
>この方が、どの項目で間違っているかすぐに分るので便利かもしれません。

この方法で使用することにしました、伝票漏れも問題なく必要な要件を十分に満たしています。
佐田さんの言う通り、どの項目が間違っているか分かってむしろ良かったかもしれません。
問題が解決できて大変助かりました、どうもありがとうございました。

22869 少し問題あり 片岸 謙二 2003/10/16-23:07
記事番号22802へのコメント
いろいろと試してみたら、伝票漏れ、入力間違いは問題ないのですが、伝票のダブり入力があった場合は、
結合表のチェック項目に表示されないことがわかりました。
結合表を作る前に、それぞれの表にある伝票番号の重複をチェックしてダブりをなくしてから結合することで
解決はすると思いますが、ちょっとびっくりしました。

戻る