Mega Code Archive

 
Categories / Delphi / ADO Database
 

How to locate on a non indexed field in a TTable

Title: How to locate on a non-indexed field in a TTable function Locate(const oTable: TTable; const oField: TField; const sValue: string): Boolean; var bmPos: TBookMark; bFound: Boolean; begin Locate := False; bFound := False; if not oTable.Active then Exit; if oTable.FieldDefs.IndexOf(oField.FieldName) 0 then Exit; bmPos := oTable.GetBookMark; with oTable do begin DisableControls; First; while not EOF do if oField.AsString = sValue then begin Locate := True; bFound := True; Break; end else Next; end; if (not bFound) then oTable.GotoBookMark(bmPos); oTable.FreeBookMark(bmPos); oTable.EnableControls; end;