Filter条件自身を変更するレコード変更方法


コング  2006-07-29 19:50:24  No: 22747

コングです。
5年ぐらい前のメンテでNext文が抜けていると
勘違いし、どつぼにはまりました。(Delphi 7pro)

 with Datamodule1.Table1 do begin
    DisableControls;
    try
      Filter := '内線=' + chr(39) + '123*' + chr(39) ;
      Filtered := True ;
      First ;
      while not Eof do begin
        Edit ;
        FieldByName('内線').AsString := '5678' ; //新番号
        Post ;
//      Next ;  Postで対象レコードから外れるため
      end;
    finally
      EnableControls;
    end;
  end ;

「山田太郎を除く内線番号の変更」のように条件を追加すると
Nextが必要になるなど複雑になる。
        省略
        if FieldByName('氏名').AsString = '山田太郎' then Next ;
        省略

Filter条件自身を変更するようなdatasetのレコード変更について
わかり易い(Nextを必ずいれるなどメンテで勘違いしないやり方)
方法はありますか?(普通のやり方を教えていただけるとありがたい)


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加