過去ログ

                                Page     309
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼エラー発生後処理を継続させたい  TOMO 03/6/19(木) 0:22
   ┗Re:エラー発生後処理を継続させたい  YU-TANG 03/6/21(土) 9:58

 ───────────────────────────────────────
 ■題名 : エラー発生後処理を継続させたい
 ■名前 : TOMO
 ■日付 : 03/6/19(木) 0:22
 -------------------------------------------------------------------------
   初心者のためどのような処理をしたら良いのかがまったく検討がつきません。ご教示ください。
フォームに入力のテキストボックスがあり、それぞれデータを入力後、OKボタン押下するとデータにそれぞれチェックが入り、問題がなければテーブルに入力され、テキストボックスのデータはクリアされます。データに問題があればエラーとなり、OKボタンの処理が中断されます。その際はデータは表示されたままです。
質問は処理が中断された後、問題のあったデータを入力し直し、OKボタンを再度押下するとフォームの先頭のテキストボックスから再度チェックがかかり、当然データがクリアされているので、エラーになり処理が行なえません。入力データを先頭から入力し直す作業が発生しています。

  発注No. 作業コード 業者コード 納品1 納品2 納品3  <OK>
1  □    □    □   □   □   □
2  □    □    □   □   □   □   
3  □    □    □   □   □   □ 
4  □    □    □   □   □   □ 
5  □    □    □   □   □   □ 

※□をtxtboxと見てください。

1行目のデータはどれもチェックOKでデータがクリアされテーブルに書きこまれます。2行目のチェックに入った時、発注No.でエラーが出ると、そこで一度処理が止まるので2行目のエラーがあった発注No.を入力し直し、OKボタンを押すと
また、1行目にもどってしまうので、それを2行目からスタートさせたいのですが・・・。どんなステートメントで出来ますか?または、チェックがかかりエラーMsgでOKを答えると、その次のチェックにに入る処理でも構いません。宜しくお願いします。

 ───────────────────────────────────────  ■題名 : Re:エラー発生後処理を継続させたい  ■名前 : YU-TANG  ■日付 : 03/6/21(土) 9:58  ■Web : http://www.f3.dion.ne.jp/~element/msaccess/  -------------------------------------------------------------------------
   ワークテーブルを元にした連結フォームなんでしょうか、それとも
非連結フォームなんでしょうか。

よく分かりませんが、取りあえず考え方を 3 通りほど。

1. チェックだけ先に全行走らせ、オール OK の場合だけ write &
  clear する。

2. 行個別にチェックし、チェックが OK であれば write & clear
  して、OK フラグを立てる。
  チェックは OK フラグが OFF の行だけを対象にする。
  OK フラグが ON の行に入力が行なわれたら、OK フラグを OFF
  に戻す。

3. 行個別にチェックし、チェックが OK であれば write & clear
  して、行ごと削除する。
  未検査の次行以降を繰り上がれば、1 行目は常に未検査行になる。

後はお好みでどうぞ。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 309