Q.  How do I do a locate on a non-indexed field?

A.  The following function can be added to your to your unit and called as
    follows:

      Locate(Table1, Table1LName, 'Beman');

    Table1 is your table component, Table1LName is TField you've add with the
    fields editor (double click on the table component) and 'Beman' is the name
    you want to find.

    (* Locate will find SValue in a non-indexed table *)
    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;