Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-03-2010
jandres jandres is offline
Miembro
 
Registrado: may 2006
Posts: 47
Poder: 0
jandres Va por buen camino
Filtrar por fecha dinamicamente sql y delphi7

Saludos tengo un sistema de personal donde me gustaria filtrar por fecha una base de datos utilizo sql y delphi 7 me gustaria poder hacer un filtro dinamico que pueda seleccionar en un datetimepicker la fecha y que me filtre la tabla por esa feha pero es que no se como hacer lo en codigo solo tengo la idea

si pueden ayudar me

Gracias una vez mas.
Responder Con Cita
  #2  
Antiguo 23-03-2010
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Podrías hacer algo como esto:

Código Delphi [-]
procedure TMyForm.DateSearch(ADate: TDate; AQuery: TQuery);
begin
  AQuery.Close;
  AQuery.SQL.Text := 'select * from Tabla where Fecha = :Fecha';
  AQuery.ParamByName('Fecha').AsDate := ADate;
  AQuery.Open
end;

Este método recibe dos parámetros, la fecha que quieres usar para filtrar tu tabla y un objeto TQuery que es sobre el que quieres hacer el filtro...

Para llamarlo desde una forma que tenga un TDateTimePicke, un TDBGrid, un TQuery, un TDataSource y un TButton haces esto:

Código Delphi [-]
procedure TmyForm.Button1Click(Sender: TObject);
begin
  DateSearch(DateTimePicker1.Date, Query1)
end;


Saludos...
Responder Con Cita
  #3  
Antiguo 24-11-2011
Vales08 Vales08 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 133
Poder: 14
Vales08 Va por buen camino
Cita:
Empezado por maeyanes Ver Mensaje
Hola...

Podrías hacer algo como esto:

Código Delphi [-]
procedure TMyForm.DateSearch(ADate: TDate; AQuery: TQuery);
begin
  AQuery.Close;
  AQuery.SQL.Text := 'select * from Tabla where Fecha = :Fecha';
  AQuery.ParamByName('Fecha').AsDate := ADate;
  AQuery.Open
end;

Este método recibe dos parámetros, la fecha que quieres usar para filtrar tu tabla y un objeto TQuery que es sobre el que quieres hacer el filtro...

Para llamarlo desde una forma que tenga un TDateTimePicke, un TDBGrid, un TQuery, un TDataSource y un TButton haces esto:

Código Delphi [-]
procedure TmyForm.Button1Click(Sender: TObject);
begin
  DateSearch(DateTimePicker1.Date, Query1)
end;


Saludos...


Muy buen dia a todos, estuve buscando sobre como filtrar un dbgrid con la fecha seleccionada de un datetimepicker y encontre este hilo..
Lo que me gustaria saber es donde pones este código:

Código Delphi [-]
procedure TMyForm.DateSearch(ADate: TDate; AQuery: TQuery);
begin
  AQuery.Close;
  AQuery.SQL.Text := 'select * from Tabla where Fecha = :Fecha';
  AQuery.ParamByName('Fecha').AsDate := ADate;
  AQuery.Open
end;

Desde ya muchas gracias..
Saludos!!
Responder Con Cita
  #4  
Antiguo 24-11-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
Cita:
Empezado por Vales08 Ver Mensaje
Lo que me gustaria saber es donde pones este código
Hola.

Bueno depende del efecto que busques, por ejemplo:

Si deseas que se vaya filtrando a medida que se producen cambios en el TDateTimePicker:
Código Delphi [-]
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
  DateSearch(Query, DateTimePicker1.Date);
end;

Si deseas que lo haga al salir del TDateTimePicker:
Código Delphi [-]
procedure TForm1.DateTimePicker1Exit(Sender: TObject);
begin
  DateSearch(Query, DateTimePicker1.Date);
end;

O si deseas que el filtrado se decida manualmente:
Código Delphi [-]
procedure TForm1.btnFiltrarClick(Sender: TObject);
begin
  DateSearch(Query, DateTimePicker1.Date);
end;
También podría ser filtrado en el evento OnCloseUp del TDateTimePicker, ...

Saludos.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 24-11-2011 a las 18:07:07.
Responder Con Cita
  #5  
Antiguo 24-11-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

ecfisa, yo creo que más bien se refiere a donde coloca el código del método y no desde donde hace la llamada al método...

En dado caso, sería algo así:

Código Delphi [-]
// Declaración del tipo TMyForm:
type
  TMyForm = class(TForm)
    // Componentes agregados al formulario y eventos del mismo...
  private
    // Como solo se va a usar en este formulario lo declaramos en la sección private
    procedure DateSearch(ADate: TDate; AQuery: TQuery);
  end;

implementation

procedure TMyForm.DateSearch(ADate: TDate; AQuery: TQuery);
begin
  AQuery.Close;
  AQuery.SQL.Text := 'select * from Tabla where Fecha = :Fecha';
  AQuery.ParamByName('Fecha').AsDate := ADate;
  AQuery.Open
end;

end.


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #6  
Antiguo 24-11-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
Cita:
Empezado por maeyanes Ver Mensaje
yo creo que más bien se refiere a donde coloca el código del método y no desde donde hace la llamada al método...
No había pensado en eso, pero es muy posible...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 23-03-2010
Avatar de afunez2007
afunez2007 afunez2007 is offline
Miembro
 
Registrado: oct 2007
Ubicación: La Ceiba, Honduras
Posts: 170
Poder: 17
afunez2007 Va por buen camino
Lightbulb

Das muy pocos datos, no dices si estas trabajando con alguna tabla en un grid o con una quer??

Te puedo dar un par de consejos:

Lo puedes hacer con un boton despues de seleccionar la fecha o en el evento OnCloseUp del datetime picker y podria ser algo asi como:

Si lo haces con un query:
Código Delphi [-]
Query1.Active:=False;
Query1.SQL.Text:'SELECT *FROM TUTABLA WHERE 
FECHA='+QuotedStr(DateToStr(DateTimePicker1.Date));
Query1.Active:=True;

Si lo haces con un TTable:
Código Delphi [-]
Table1.Active:=False;
Table1.Filtered:=False;
Table1.Filter:='FECHA='+QuotedStr(DateToStr(DateTimePicker1.Date));
Table1.Filtered:=True;
Table1.Active:=True;

Espero te sirvan estas ideas

Saludos
__________________
Si robas, roba un beso, si mientes que sea por amor y si engañas que sea a la muerte!!
Responder Con Cita
  #8  
Antiguo 04-12-2010
userdelphi userdelphi is offline
Miembro
NULL
 
Registrado: dic 2010
Posts: 15
Poder: 0
userdelphi Va por buen camino
quiero filtrar una fecha en un dateTimePicker1

hola,he leido muchos foros aca adentro y no logro encontrar mi error, necesito ayuda, primero, uso BD access el campo "fecha" es de fecha/hora, utilizo AdoQuery en delphi, un dateTimePicker, un dbgrid y para indicar el filtro seria eligiendo desde el dateTimePicker y luego presionar un button.

intente cambiar formato, ya q en mi BD se almacena dd/mm/aaaa y en el dbgrid se ve mm/dd/aaaa, eso me funciono, ya que el valor lo hacia copiar en un edit, tamb intente crear una variable vfecha y darle el valor del dateTimePicker convirtiendolo, pero se me rompe en la condicion q le doy para el sql.
he leido de hacer parametros, eso nunca lo vi en clases, me explicarian como se asigna y si se debe declarar en la seccion VAR???

aca les mando una parte del codigo.... no se asusten ya que lo que he encontrado lo ponia ahi, y comentaba y descomentaba.

si alguien me ayuda a ordenar eso se lo agradezco,
de ser asi, aun denme el fragmento de codigo y si debo declarar algo en la seccion var o donde , gracias

esto es: (hoy un desorden jaja)

procedure TFormListadoVentas.ButtonfiltrofechaClick(Sender: TObject);
var
vFecha:String;
begin
//ShortDateFormat:= 'd/m/yyyy';
vFecha:=FormatDateTime('dd/mm/yyyy',dateTimePicker1.DateTime);//Componente Month Calendar
//el formato lo puedes cambiar a dd/mm/yyyy o mm/dd/yyyy
editfiltrofecha.Text := vfecha;

formlistadoVentas.ADOQueryFiltro.Active := false;
// Utilizamos quotedString para ponerle comillas simple a la cadena (en el caso que sea de tipo string )
FormListadoVentas.AdoQueryFiltro.SQL.Text := 'SELECT * FROM tVentas WHERE Fecha ='+quotedstr(xfecha);
ParamByName('xFecha').AsDate := DateTimePicker1.Date;


formlistadoVentas.ADOQueryFiltro.Active := true;

FormListadoVentas.dbgridVentas.DataSource := datasourceFiltro;
FormListadoVentas.DBNavigator1.DataSource := datasourceFiltro;
end;


se los agradezco, como veran saque mucho de aca, y aun los comentarios de quien posteo estan , help me, please

gracias ,
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
Filtrar Ztable por fecha. forgiveness Conexión con bases de datos 4 03-02-2010 16:33:57
Filtrar consulta por fecha y hora Alejandrina SQL 4 16-06-2008 08:18:10
Filtrar por dos Fecha???? Zakio14 Firebird e Interbase 6 23-02-2008 03:00:04
como filtrar por fecha anubis Firebird e Interbase 5 14-02-2008 10:52:43
Filtrar fecha al vuelo JorgeBec Varios 1 04-11-2003 19:33:29


La franja horaria es GMT +2. Ahora son las 02:39:13.


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