PDA

Ver la Versión Completa : uso del metodo locate


pyanqn
09-11-2005, 14:15:05
Hola, tengo una duda sobre como utilizar el metodo locate. y si es el mas adecuado, para una busqueda. USO COMPONENETES ZEOS.

Lo que necesito es buscar un registro que tiene 3 campos que conforman la clave, me parece que la forma adecuada de ubicar este registro en por medio de locate (a menos que exista otra forma mas efciente).
Los campos calve son: fecha, hora, dni.
Bien estoy usando algo así (corriganme):


valores:=varArraycreate(fecha,hora,dni);
datasource1.dataset.locate('fecha hora dni', valores,[]);
datasource1.dataset.edit;
datasource1.dataset['Salida']:=horaSalida;
datasource1.dataset.post;

Es esto correcto? hay alguna alternativa usando un ZQuery?
Gracias

Lepe
09-11-2005, 15:00:31
if datasource1.dataset.locate('fecha;hora;dni',
[valorDeFecha, ValordeHora, ValorDeDNI],[]) then
begin
datasource1.dataset.edit;
datasource1.dataset['Salida']:=horaSalida;
datasource1.dataset.post;
else
ShowMessage('Cliente no encontrado');


Como ves, solo faltaba los punto y comas, para que el locate encuentre varios campos a la vez (es un separador).

Los valores, los creo al vuelo, ya no necesitas la variable de valores.

Además se modifica el cliente si se ha encontrado, si no lo encuentra, mensajito al canto.

2k de saludos