Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-04-2015
sorianolloret sorianolloret is offline
Registrado
NULL
 
Registrado: abr 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?

Última edición por nlsgarcia fecha: 07-04-2015 a las 05:24:19. Razón: Formateo y Sintaxis Delphi
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Posicionarse en un caracter de un Edit Hamizura Varios 3 18-02-2011 18:16:59
posicionarse en un nuevo registro bothy Varios 5 20-04-2010 01:09:11
Posicionarse en un DBgrid Ubed Varios 1 02-10-2007 17:17:11
Posicionarse en una tabla orsajo Tablas planas 6 03-10-2005 13:42:03
Posicionarse con dbGrid ramiretor OOP 4 16-04-2004 03:11:43


La franja horaria es GMT +2. Ahora son las 04:36:39.


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