PDA

Ver la Versión Completa : Filtrar por fecha un Dbgrid


giulichajari
26-06-2013, 23:59:20
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.


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:

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
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:

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