過去の桐井戸端BBS (桐ver.8)
17459 編集終了後、元表に併合する時の問題点はありますか? bamboo 2002/10/07-18:14
みなさんこんにちは
「困ったときの井戸端BBS頼み」とばかりいつも大変お世話になっています。
今回も過去BBSを検索したのですが、それらしきヒントを見つけられなかったので
みなさんのご意見を頂きにやってきました。よろしくお願いします。

現在、Ver.5で作成したシステムをVer.8に切替中です。
手法はフォームと一括の処理のみで、イベントは未修得のため一切使っていません。
何をやりたいのか理解していただく為に、業務内容を説明しますと、
機械の据付やメンテを主に、4〜6名の構成で1日に4〜5チームを工場や建設現場に派遣しています。
作業員毎に行き先、作業時間、使用車両等を毎日入力して給与計算、運行管理、工事台帳、請求書等の資料を取りだしています。

関係するファイルは以下の構成です
日報元表.tbl 項目数:63(うち計算項目13) レコード件数:最大時約1万件
作業表.tbl  日報元表.tblを「書出し」→「表の枠組み」で作成し
        計算項目を削除した表
入力.wfm グループ項目に 年、月、日、客先名、現場名を、明細行に作業者、
       作業時間、使用車両など設定。コマンドボタンを押せば桐を知らない人でも
       必要な操作が出来るようにしてある。

日報元表から年、月を絞り込んで作業表に読み込み、項目の修正、削除、時には
グループの移動、追加、削除などの処理を行い、日報元表に書き戻すとき、
Ver.5では、日報元表の絞り込んだレコードは全行削除し、作業表から読込んで更新していたのですが、
Win98の環境ではよくフリーズするのでこの方法は危険だと思い、以下のような一括を組んで見ました。
(稚拙な処理で恥かしいのですが・・)日報元表は絞り込んだ状態で開きっぱなしにしてます。

 編集表 "日報元表"
 併合 ”作業表”,絞り込み,編集表=する,終了状態=&終了,{[年]照合,¥
     [月]照合,[日]照合,[客先名]照合,[現場名]照合,[作業者]照合}
 絞り込み 補集合
 条件 ( .NOT #空ファイル) 行削除 *
 絞り込み解除 1
 併合 ”作業表”,両方,編集表=する,終了状態=&終了,{[年]照合,¥
     [月]照合,[日]照合,[客先名]照合,¥
     [現場名]照合,[作業者]照合,[年]複写・・・以下全項目を複写}

予想される処理をくり返しデバックで実行してみましたが、今の所不具合はありません。
が、基幹となるファイルなのでより確実な処理をしておきたいと思ってます。
前置きが大変長くなって恐縮ですが、ご意見を頂きたい事は、

1、桐で、ある操作をした場合データーが書き戻されない事はないですか?
2、より確実な処理に仕上る為に付足すコマンドは有りますか?

の2点ですが、上記のような作業で他に良い方法があればご教示をお願います。
なお私は外仕事が多く、あまりパソコンの前に座る事ができません。
お返事が遅れる事もあるかと思いますがご容赦ください。長文、失礼致しました。

使用環境 OS:Windows98SE 桐Ver.8SP6 ネットワークなし 

17465 直接編集ではだめでしょうか 佐田 守弘 2002/10/07-23:30
記事番号17459へのコメント
bambooさん
どうやら、基幹のデータファイルなので、万一のファイル破損に備えて、
元表を直接て編集するのではなく、必要事項をワーク表に書き出して作業を行い、
ワーク表の編集終了後に元表に書き戻す作業をしている様ですね。

さて、この様な処理が本当に必要かどうか、その方が安全かどうかについて考えてみます。
作業環境は、ネットワークなしとの事なので、1台のマシンで表を開き、
複数の人が交代で入力を行っていると考えます。

スタンドアロンで処理するなら、書かれている様な方法もあり得ると思いますが、
これが必ずしも表の破損防止の最善かどうかはやや疑問が残ります。
私は、通常行っているように、元表を直接編集する事は、必ずしも危険とは考えておりません。
なぜなら、桐の元来そのように処理する事を考えているからです。

●表の破損対策
まずは、バックアップ有りのモードにしておくべきでしょう。
また、1日に1度、あるいは1人の入力が終わった段階で、表ファイルをバックアップするのも1つの方法です。
このバックアップは、「書き出し 表」コマンドを使って、日時を付けたファイル名で書き出して保存しておけばよいと思います。
あるいは、表ファイルでなく、K3ファイルでも構いません。
その際に、書き出した表の履歴を別の表に記録として付け、誰の操作の後でバックアップを行ったか、
などを記録しておくのも1つの方法でしょう。
これが有れば、仮に誰か1人の入力が誤っていたとしても、その直前に戻る事が可能になります。
もちろん表が壊れた場合でも同様です。

そして、上記のバックアップファイルなども含めて、1日の終わりには、別ドライブへリニューアルバックアップを行い、
万一のドライブのトラブルに備えておく事も大切かと思います。

●誤操作対策
おそらくこれを心配されているのだと思います。
1つの方法として、このシステムを起動した時に、ユーザー名の様なものを入力させ、
誰が操作を行っているのかを明確にしておく方法が有るかと思います。
そして表には[入力者][入力日][編集者][編集日]の項目をこっそりと作っておきます。
上記の「入力」は、新規のデータ入力の意味で、「編集」は、既存データの訂正の意味です。
つまり1レコードごとに、そのレコードは誰がいつ新規入力したのか、
最後に編集したのは誰がいつかを残す訳です。
これによって今日追加や編集されたデータだけを選び出したり、特定の人が編集した
データだけを選び出す事も可能になります。

いずれもレコードの追加や更新のイベントを使って、値を自動で書き替えます。
このイベントはそれ程難しい訳では有りませんので、練習の意味で試してみると良いと思います。

佐田守弘(KS-00119)
17468 Re:編集終了後、元表に併合する時の問題点は?(長文) natsu 2002/10/07-23:58
記事番号17459へのコメント
私自身では使用した経験はありませんが
「トランザクション」というコマンドを
一括のヘルプで確認してみてください
17485 Re:編集終了後、元表に併合する時の問題点は?(長文) bamboo 2002/10/09-09:42
記事番号17468へのコメント
natsuさん おはようございます。
返事が遅くなって申訳ありません。
トランザクションなるコマンドはnatsuさんに言われて初めて気が付きました。

オンラインヘルプより
トランザクション中に更新が失敗した場合は、「トランザクション ロールバック」を実行させるようにします。
これにより、「トランザクション 開始」以降に行なった更新結果を、すべて破棄して終了することができます。

過去にエラーが出ても強制的に処理を行った結果、データーが重複して登録された事がしばしばありましたから
この機能がやくに立ちそうです。
なんだか難しそうなコマンドですが頑張って挑戦してみたいと思います。
成功したら結果をご報告します。ありがとうございました。

17489 Re:直接編集ではだめでしょうか bamboo 2002/10/09-10:31
記事番号17465へのコメント
佐田守弘さんおはようございます。
返事が遅くなって申訳ありません。判り易く丁寧な佐田さんの記事にはいつも勉強させていただいてます。
Ver.8に切替を始めた当初、イベントを取入れるべきか悩んだ時、
佐田さんのHPを読ませて頂き、取り合えず一括で構築した後、イベントで手を加えていけば良いかな、
と自分なりの結論を下しました。佐田さんの関知しない所で大変お世話になっています。

>どうやら、基幹のデータファイルなので、万一のファイル破損に備えて、
>元表を直接て編集するのではなく、必要事項をワーク表に書き出して作業を行い、
>ワーク表の編集終了後に元表に書き戻す作業をしている様ですね。

作業方法はお察しの通りですが、一番の理由は、入力フォームからグループの違う
フォームを多重化で開いているので処理速度を考えての事なんです。
以前は直接編集をやってましたが、期末に近づくにつれ今のマシンでは処理が重くなり、
(いまどきペンティアム200MHz!)「なんとかならんか」とブーイングを受けました。
私としてはマシンを「なんとかならんか」と言いたい所ですが・・・・

>表の破損対策
以前ハードディスクのクラッシュで苦い経験が有り、この点は私にしては慎重に対処してるつもりです。
ファイルのバックアップ有り、作業終了後は別々のドライブにファイルを書込み
1週間に1度はMOに書出し、しかもMOは半期毎に取替えています。

>誤操作対策
>おそらくこれを心配されているのだと思います。
まさにその通りなんです。間違ったデーターを完璧にバックアップしても問題ですし、
時にとんでもない操作でエラーを呼び起し、「どうなってんだ、このPC」とのたまっております。

>そして表には[入力者][入力日][編集者][編集日]の項目をこっそりと作っておきます。
こっそりと、なんですね(^^; 「俺のせいじゃな〜い」と何時もしらばっくれてるので
動かぬ証拠を突きつけてやれそうですね。イベントもこんな所から入ってけば
意外と習得ははやいかも。

お忙しい中、とても有意義なご意見をありがとうございました。一段落したらじっくりと
イベントを習得したいと思ってます。その節はまたよろしくお願いします。

17491 Re:直接編集ではだめでしょうか bamboo 2002/10/09-11:06
記事番号17489へのコメント
自己レスです。
佐田守弘さんのレスより
>元表を直接編集する事は、必ずしも危険とは考え
>ておりません。なぜなら、桐の元来そのように処理する事を考えているからです。

やはり、基本は直接編集なんでしょうね。
書き戻すときのトラブルも減少できるし、なにより余計な操作をしない分確実にデーターの更新が出来そうです。
元表を半期か、四半期に分類して保持する方法を考えてみたいと思います。

戻る