Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Conexión con bases de datos
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Conexión con bases de datos

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 07/04/2015
sorianolloret sorianolloret is offline
Registrado
NULL
 
Join Date: Apr 2015
Posts: 5
Poder: 0
sorianolloret Va por buen camino
Localizar Y Posicionarse En Un Adodataset

Buenas, soy nuevo aquí, necesito que alguien me ayude con un tema sencillo que no puedo resolver
Tengo un adodatasetempleado, adodatasetcalendario, adodatasetcondiciones, todos con masterfield DNI, asi cuando selecciono un empleado me aparece su calendario y sus condiciones.
Pero necesito que esto funcione correctamente
adodatasetcalendario.locate('DNI;FECHA',Vararrayof(['DNI','FECHA']),[loCaseInsensitive, loPartialKey]); NO SE POSICIONA EN NIGUN SITIO DE LA TABLA,pero si busco ADODATASETCALENDARIO.Locate('FECHA',FECHA,[loCaseInsensitive, loPartialKey]);
con esto solo se posiciona en el primer registro que cumple la condición fecha
el problema es que cuando cambio de empleado y vuelvo a localizar no localiza nada o se localiza en el primero que al estar como masterfield el dni no se ve.
es decir
tengo
dni fecha
1 01/02/2003
1 02/03/2004
1 03/04/2005
2 01/02/2003
2 02/03/2004
2 03/04/2005
al tener como masterfield dni el dbgrid solo muestra las fechas del empleado seleccionado en la tabla empleados, es decir si silecciono el empleado 2 solo muestra sus fechas.
necesito hacer adodatasetcalendario.locate('DNI;FECHA',Vararrayof(['DNI','FECHA']),[loCaseInsensitive, loPartialKey]);
siendo dni=1 y fecha=02/03/2004 que se posiciona correctamente.o al buscar dni 2 y misma o distinta fecha
por cierto la base de datos es de Access y dni y fecha son claves principales
El código es este:
Código Delphi [-]
procedure Tfrmcalculoparcial.Button1Click(Sender: TObject);
var
  DNI : String;
  FECHA : String;
begin
  //DNI := ADODATASETEMPLEADOS.FieldByName('DNI').Value;
  FECHA := DATETOSTR(NOW());
  DNI := ADODATASETEMPLEADOS.FieldByName('DNI').AsString;
  //ADODATASETCALENDARIO.Locate('DNI',DNI,[]);
  //ADODATASETCALENDARIO.Locate('FECHA',FECHA,[loCaseInsensitive, loPartialKey]);//funciona pero al cambiar de empleado con dbnavigatorempleados no funciona
  adodatasetcalendario.locate('DNI;FECHA',Vararrayof(['DNI','FECHA']),[loCaseInsensitive, loPartialKey]);//no funciona
end;
me puede ayudar alguien?

Last edited by nlsgarcia : 07/04/2015 at 05:24. Reason: Formateo y Sintaxis Delphi
Reply With Quote
  #2  
Old 07/04/2015
AgustinOrtu's Avatar
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Join Date: Aug 2013
Location: Argentina
Posts: 1,858
Poder: 17
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Le estas diciendo al Locate que busque en el campo DNI los que sean igual al string 'DNI', y en el campo FECHA los que sean igueales al string 'FECHA'

Es decir estas haciendo esto

Código SQL [-]
SELECT * FROM Calendarios WHERE Fecha = 'FECHA' AND DNI = 'DNI'

Código Delphi [-]
                                                  // ahora si estas son tus variables DNI y FECHA
  adodatasetcalendario.locate('DNI;FECHA',Vararrayof([DNI, FECHA]),[loCaseInsensitive, loPartialKey])

Le saque las '' a DNI y FECHA en el VarrArrayOf

Proba asi y contanos
Reply With Quote
  #3  
Old 07/04/2015
nlsgarcia's Avatar
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Join Date: Feb 2007
Location: Caracas, Venezuela
Posts: 2,206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
sorianolloret,

¡Bienvenido al Club Delphi!

Te sugiero revisar la Guía de estilo de los foros, recomendada a todos los nuevos ingresos al Club Delphi.

¡Gracias por tu cooperación!

Saludos,

Nelson.
Reply With Quote
  #4  
Old 07/04/2015
sorianolloret sorianolloret is offline
Registrado
NULL
 
Join Date: Apr 2015
Posts: 5
Poder: 0
sorianolloret Va por buen camino
Muchas Gracias Agustin, Me Estaba Volviendo Loco Por Culpa De Las Comillas!!!!!!
Perfecto
Reply With Quote
  #5  
Old 07/04/2015
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Quote:
Originally Posted by sorianolloret View Post
Muchas Gracias Agustin, Me Estaba Volviendo Loco Por Culpa De Las Comillas!!!!!!
Perfecto
Guía de estilo de los foros
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Posicionarse en un caracter de un Edit Hamizura Varios 3 18/02/2011 18:16
posicionarse en un nuevo registro bothy Varios 5 20/04/2010 01:09
Posicionarse en un DBgrid Ubed Varios 1 02/10/2007 17:17
Posicionarse en una tabla orsajo Tablas planas 6 03/10/2005 13:42
Posicionarse con dbGrid ramiretor OOP 4 16/04/2004 03:11


All times are GMT +2. The time now is 21:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi