Ver Mensaje Individual
  #5  
Antiguo 29-10-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Reputación: 21
gluglu Va por buen camino
Para saber más acerca de la función Locate podrías hacer referencia a la propia ayuda del Delphi, aunque pienso que también dependerá de los componentes Query que utilizes.

Cita:
Class TIBCustomDataSet

Syntax
function Locate(const KeyFields: string; var KeyValues: Variant; Options: TLocateOptions): Boolean; override;

Description
Call Locate to search a dataset for a specific record and position the cursor on it.

KeyFields is a string containing a semicolon-delimited list of field names on which to search.

KeyValues is a variant that specifies the values to match in the key fields. If KeyFields lists a single field, KeyValues specifies the value for that field on the desired record. To specify multiple search values, pass a variant array as KeyValues, or construct a variant array on the fly using the VarArrayOf routine.

For example:
Código Delphi [-]
        with CustTable do
  Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '408-431-1000']), [loPartialKey]);
     TLocateOptions Opts;
  Opts.Clear();
  Opts << loPartialKey;
  Variant locvalues[3];
  locvalues[0] = Variant("Sight Diver");
  locvalues[1] = Variant("P");
  locvalues[2] = Variant("408-431-1000");
  CustTable->Locate("Company;Contact;Phone", VarArrayOf(locvalues, 2), Opts);

Options is a set that optionally specifies additional search latitude when searching on string fields. If Options contains the loCaseInsensitive setting, then Locate ignores case when matching fields. If Options contains the loPartialKey setting, then Locate allows partial-string matching on strings in KeyValues. If Options is an empty set, or if KeyFields does not include any string fields, Options is ignored.

Locate returns true if it finds a matching record, and makes that record the current one. Otherwise Locate returns false.

Locate uses the fastest possible method to locate matching records. If the search fields in KeyFields are indexed and the index is compatible with the specified search options, Locate uses the index. Otherwise Locate creates a filter for the search.
__________________
Piensa siempre en positivo !
Responder Con Cita