一括処理部品集4‖heigou.html                            《戻る》 玄関へ
 《 レコードの更新と削除 》

【内容】
  多数のレコードを更新または削除する場合に使用して
 います。
 更新に使うレコードを絞り込んで一旦書き出します。
 この書き出した表を使い、更新される表に併合します。
 レコードの削除も併合を利用できます。

【用例】
 名札 表更新
   &MESS1=#連結("データ表の編集後、DB表を更新します。" \
       ,"\n 編集したレコードについて" \
       ,"\n\n 支弁段階は<仮>か<決>を選び、\n 処理する月などを選んでください。 " )
   メッセージボックス #連結(&システム名,"データベースの更新"),&MESS1,アイコン=!
   ・・・・・・・・・
   メニュー2 &本仮,&本仮,(14,41),#連結(&システム名,"データベースの更新") \
       ,"仮の支弁段階によるデータ,決定支弁段階によるデータ,中止(MAINMENUへ)"
     条件 (&本仮=3) 分岐 START
     条件 (&本仮=1) &TBL1=#連結(&DAPA,"SKFカリ.TBL") ,&TBL2=#連結(&DAPA,"SKFカリ.BAK")
     条件 (&本仮=2) &TBL1=#連結(&DAPA,"SKFケツ.TBL") ,&TBL2=#連結(&DAPA,"SKFケツ.BAK")
  手続き実行 月選択
  手続き実行 部選択
  条件 (&本仮=1) &MESS1=#連結(#全角(#STR(&ゲツ)),"月分、対象:",&対象 \
      ,"\n\n 仮の支弁段階によるデータでデータベース(DB)表を更新します。 " \
      ,"\n\n 処理をおこないますか? ")
   ・・・・・・・・・
   メッセージボックス #連結(&システム名,"データベースの更新"),&MESS1,アイコン=!,ボタン=4,&選択
     条件 (&選択=7) 分岐 表更新
     条件 (&選択=2) 分岐 START
   ・・・・・・・・・
  表
  表 &SKF
  手続き実行 併合元表                             @
  条件 (&本仮=1) 手続き実行 書出し仮                   A
   ・・・・・・・・・
  表
  表 &TBL1,表番号=1
  編集表 &TBL1
  条件 (&本仮=1) 置換 [備考]="仮"
   ・・・・・・・・・
  表 &SKFDB,表番号=2
  編集表 &SKFDB
  並べ替え {[ID]昇順,[氏名]辞書順,[年]昇順,[月]昇順,[支給日]辞書順}
  絞り込み [月]=&ゲツ                               B
  条件 (&本仮=1) 手続き実行 併合仮                     C
   ・・・・・・・・・
  表
  ファイル削除 &TBL1                              D
   ・・・・・・・・・
 手続き終了

 名札 削除R書き出し                              E 
  &TBL3=#連結(&DAPA,"SKFDBDEL.TBL")
  書き出し 表,&TBL3,{[ID],[氏名],[部],[学],[仮],[決],[年],[月],[支給日],[備考]}
  併合 &TBL3,削除,{[ID]照合[ID],[氏名]照合[氏名],[部]照合[部],[学]照合[学] \
      ,[年]照合[年],[月]照合[月],[支給日]照合[支給日],[備考]照合[備考]}
  手続き実行 表初期
  表整理 余白割合=10
 手続き終了

【解説】
@ 更新に使用する元のレコードを絞り込みます。レコード件数を少なくして
  併合時間を短縮します。
A 併合元表として一旦書き出します。
B 併合先表のレコードもある範囲で絞り込みます。
C 併合処理(置換挿入など)をおこないます。(省略)
D 併合元表として書き出した表などを削除しています。
E 併合によるレコード削除にも使えます。この場合、書き出したファイルを
  削除しないで一時的なバックアップとすることもできます。

                      END of FILE  戻る 玄関へ