PDA

Ver la Versión Completa : Filtrar por campo con TCalendar


leogobo
02-06-2011, 02:00:39
Hola,

Lo que pasa es que no he podio filtrar por fecha en un campo de una tabla que se llama "Fecha Recibido". Cuando pongo la instruccion:


Dbf1.Filter:= 'Fecha Recibido =' + QuotedStr(Calendar1.Date);


El problema esta en que el campo tiene un espacio entre las dos palabras "Fecha Recibido".

Como puedo solucionar esto sin cambiar el nombre del campo??

Gracias

ecfisa
02-06-2011, 03:23:17
Hola leogobo.


Cuando tenés nombres de campos con caracteres especiales o con espacios tenés que encerrar el nombre del campo entre corchetes:

...
begin
Dbf1.Filtered:= False;
Dbf1.Filter:= '[Fecha Recibido]='+QuotedStr(DateToStr(MonthCalendar1.Date));
Dbf1.Filtered:= True;
...
end;


Saludos.

leogobo
02-06-2011, 03:32:50
Cuando lo pongo entre corchetes como me dijiste me sale el siguiente error:

Index based on unknown field "[".

ecfisa
02-06-2011, 03:46:16
Que raro, lo probé y funciona bien...

Tal vez me haya equivocado al pensar que estás usando DB... revisá este artículo de embarcadero: DB.TDataSet.Filter (http://docwiki.embarcadero.com/VCL/en/DB.TDataSet.Filter).

¿ Con que componentes estás trabajando ?

Un saludo.

leogobo
02-06-2011, 04:04:33
Pues estoy utilizando TCalendar y para el manejo de una tabla de dBase el componente TDbf.

Sera que no funciona porque estoy en lazarus ??

ecfisa
02-06-2011, 04:18:02
para el manejo de una tabla de dBase el componente TDbf.
Sera que no funciona porque estoy en lazarus ??

Mmm podría ser, pero pareciera que es más una restricción de los componentes TDbf. Ahora recuerdo que hablamos de ellos en otro post.

Sé que es justamente lo contrario a lo que buscas, pero si los componentes TDbf o Lazarus no permiten nombres de campos con espacios,
no te va a quedar otro remedio que renombrar el campo.

Saludos.

leogobo
02-06-2011, 04:35:22
pues finalmente si me toco cambiar el nombre del campo.

Gracias.

leogobo
02-06-2011, 04:40:32
Tengo otra preguntica, no se si se puede en este mismo post.

Como puedo hacer para que cuando presione una letra en un TDBComboBox, me comience a ubicar desde el primer item con esta letra en toda la lista que esta organizada alfabéticamente ???

ecfisa
02-06-2011, 05:23:45
Hola.

Creo que deberías crear otro hilo con tu nueva pregunta y te explico el motivo de esta recomendación.
Suponé que estás buscando: DBComboBox posicionarme alfabéticamente, te vá a ser muy difícil encontrarlo
si la respuesta está en un hilo titulado: Filtrar por campo con TCalendar. ;)

Saludos.:)