Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Filtrar por fecha un Dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=83524)

giulichajari 26-06-2013 23:59:20

Filtrar por fecha un Dbgrid
 
Tengo un problema al filtrar un DBGrid por fecha: cada caracter que tipeo me dice que no es una fecha valida. como hago para que la fecha se escriba en el edit, el campo Fecha de la base de datos de access es de tipo Fecha normal.
En builder tengo este codigo.

Código Delphi [-]
        Table1->Filtered = false;
        Table1->Filter = "Fecha =" + QuotedStr(Edit2->Text+"*");
        Table1->Filtered = true;

Muchas gracias..

ecfisa 27-06-2013 05:05:20

Hola giulichajari.

Supongo que tenes ese código en el evento OnChange de Edit2 y deseas realizar una búsqueda incremental sobre el campo Fecha.

Lamentablemente no va a funcionar de ese modo... Imaginate que escribis el numero 2, ¿ Con que día, més y año debería completarse para poder realizar la conversión correspondiente para poder evaluar en el filtro ? No lo puede saber de antemano Delphi ni la base de datos, por lo tanto: Error.

Lo mismo sucede si intentas:
Código:

void __fastcall TForm1::Edit2Change(TObject *Sender)
{
  Caption = StrToDate(Edit2->Text);
}

Lo que podes hacer es ingresar la fecha completa y luego filtrar la tabla acorde a si el dato es menor, mayor o comprendido entre dos valores.

Saludos. :)

giulichajari 27-06-2013 05:14:02

Cita:

Empezado por ecfisa (Mensaje 462855)
Hola giulichajari.

Supongo que tenes ese código en el evento OnChange de Edit2 y deseas realizar una búsqueda incremental sobre el campo Fecha.

Lamentablemente no va a funcionar de ese modo... Imaginate que escribis el numero 2, ¿ Con que día, més y año debería completarse para poder realizar la conversión correspondiente para poder evaluar en el filtro ? No lo puede saber de antemano Delphi ni la base de datos, por lo tanto: Error.

Lo mismo sucede si intentas:
Código:

void __fastcall TForm1::Edit2Change(TObject *Sender)
{
  Caption = StrToDate(Edit2->Text);
}

Lo que podes hacer es ingresar la fecha completa y luego filtrar la tabla acorde a si el dato es menor, mayor o comprendido entre dos valores.

Saludos. :)

gracias... claro ahora me doy cuenta


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