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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-05-2011
leogobo leogobo is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 49
Poder: 0
leogobo Va por buen camino
Visualizacion por dia.

hola,

Estoy usando lazarus y tengo una tabla donde se van guardando varios registros cada día, uno de esos campos de la tabla es precisamente la fecha. Lo que quiero hacer es utilizar el TCalendar para que al seleccionar un día en el calendario solo me muestre los registros del respectivo día y navegarlos con botones de siguiente, anterior, etc. Como se podria hacer esto???

Gracias
Responder Con Cita
  #2  
Antiguo 24-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

No especificas con que base de datos estas trabajando, con que componente ni donde querés mostrar los resultados. Pero si los mostras en un DBGrid, una opción es usar el evento OnClick del MonthCalendar:
Código Delphi [-]
procedure TForm1.MonthCalendar1Click(Sender: TObject);
begin
  XQuery.Close;   // IBQuery, ADOQuery, etc...
  XQuery.SQL.Clear;
  XQuery.SQL.Add('SELECT * FROM TU_TABLA');
  XQuery.SQL.Add('WHERE TU_CAMPO = :FECHA');
  XQuery.ParamByName('FECHA').AsDateTime:= MonthCalendar1.Date;
  XQuery.Open;
end;

Para volver a mostrar todos los registros:
Código Delphi [-]
begin
  XQuery.Close;
  XQuery.SQL.Clear;
  XQuery.SQL.Add('SELECT * FROM TU_TABLA');
  XQuery.Open;
end;

Saludos.

Edito: Aunque olvidé mencionarlo lógicamente el DBGrid deberá tener asignado el TDataSource que referencia al XQuery.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 24-05-2011 a las 03:01:38.
Responder Con Cita
  #3  
Antiguo 24-05-2011
leogobo leogobo is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 49
Poder: 0
leogobo Va por buen camino
Perdon, estoy trabajando con una tabla dBase., estoy utilizando el componente TDBF, y quiero vizualizar en TDBEdit's.

Última edición por leogobo fecha: 24-05-2011 a las 05:33:07.
Responder Con Cita
  #4  
Antiguo 24-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

No conocía los componentes TDbf, pero leí un poco la documentación que está en sourceforge ( TDbf Manual ) y aparentemente podrías aplicar la propiedad Filter para hacer lo que buscas.

Algo como:
Código Delphi [-]
procedure TForm1.MonthCalendar1Click(Sender: TObject);
begin
  Dbf1.Filtered:= False;
  Dbf1.Filter:= 'CAMPO_FECHA =' + QuotedStr(DateToStr(MonthCalendar1.Date));
  Dbf1.Filtered:= True;
end;
Como lo desconozco, busqué también si Lazarus posee las funciones QuotedStr y DateToStr y según leí están soportadas, por lo que creo que el código de arriba debería funcionar.

Para desactivar el filtro y mostrar todos los datos nuevamente:
Código Delphi [-]
...
begin
  Dbf1.Filtered:= False;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 25-05-2011
leogobo leogobo is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 49
Poder: 0
leogobo Va por buen camino
oye muchas gracias, eres un genio!!
Responder Con Cita
  #6  
Antiguo 25-05-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Ten en cuenta que si usas filter en ese tipo de tablas, podria hacerse un poco lento si es que la tabla contiene mucha informacion
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #7  
Antiguo 26-05-2011
leogobo leogobo is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 49
Poder: 0
leogobo Va por buen camino
Muchas gracias por sus repuestas, para que me funcionara el filtro la linea de:

Código Delphi [-]
Dbf1.Filter:= 'CAMPO_FECHA =' + QuotedStr(DateToStr(MonthCalendar1.Date));

me toco dejarla asi para que funcionara:

Código Delphi [-]
Dbf1.Filter:= 'CAMPO_FECHA =' + QuotedStr(MonthCalendar1.Date);

Ahora tengo otro problema con esos filtros. Cuando quiero hacer un filtro de un campo String de la siguiente manera:

Código Delphi [-]
Dbf1.Filter:= 'CAMPO =' + QuotedStr(edit1.text);

Me saca un error que dice "Project Registro raised exception class "EDbfError with message: Index based on unknown field "CAMPO"""


Gracias
Responder Con Cita
  #8  
Antiguo 26-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola leogobo.

Cita:
"Project Registro raised exception class "EDbfError with message: Index based on unknown field "CAMPO"""
Como te dije más arriba no he trabajado con esos componentes y no tengo experiencia con dBase, pero por lo que dice el error pareciera que no existe
un campo con el nombre 'CAMPO'.

Pero por las dudas hacé la prueba de quitar QuotedStr, realmente es un tiro a ciegas... no conozco esos componentes.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 26-05-2011 a las 06:51:04.
Responder Con Cita
  #9  
Antiguo 26-05-2011
leogobo leogobo is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 49
Poder: 0
leogobo Va por buen camino
Me acabo de dar cuenta que sale ese error cuando el edit o el nombre del campo en la tabla tienen un nombre como edit_1 o campo_1 , osea cuando se le pone raya al piso.. Que raro no???
Responder Con Cita
Respuesta



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
Forzar la visualizacion de un Hint escafandra C++ Builder 8 22-12-2007 19:15:28
Visualización de datos lez-k Varios 1 23-05-2007 19:55:31
Visualización del tiempo luxus OOP 3 25-09-2006 21:53:50
visualización de un dxf y 3D jmlifi Varios 1 09-08-2005 11:14:44
visualizacion de BMP ramonibk Varios 1 23-02-2005 17:39:04


La franja horaria es GMT +2. Ahora son las 00:26: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