Delphi - Propiedad Filter

 
Vista:

Propiedad Filter

Publicado por Horacio (24 intervenciones) el 21/04/2003 23:39:16
Hola amigos, soy yo , horacio, otra vez , bueno mi duda ahora es la siguiente: probe cconsultar la tabla con la proiedad filter del objeto ttable y anduvo de maravillas pero el problema que tengo ahora es que a la propiedad filter le puedo asignar unicamente valores constantes en el codigo, y yo necesito ingresar esos valores a comparar por medio de dos combobox,por ej: una con el nombre de operador y otra con la fecha del dia trabvajado de ese operador, y en el dbgrid quiero que me muestre los registros que cumplan con esa condicion. he probado con el objeto query pero me da errores, y aparte no entiendo como comparar en la propiedad sql por ej: el campo fecha sea = combobox que contiene la fecha. si pueden profundizar en detalles en cuanto al objeto query mejor. desde ya otra vez agradecido de su ayuda. Horacio
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Propiedad Filter

Publicado por Ernesto De Spirito (706 intervenciones) el 22/04/2003 09:49:27
Respecto del tema de los filtros, puedes cambialos programáticamente. Ejemplo:

Table1.Filter := Format('usuario=''%s'' AND fecha=''%s''',
[ComboBox1.Text, ComboBox2.Text]);

Los pares de dos comillas ('') dentro del string no son comillas dobles, sino pares de de comillas simples (apóstrofes).

Respecto de tu pregunta sobre consultas, usa parámetros. Ejemplo:

SELECT * FROM tabla WHERE usuario = :usuario AND fecha = :fecha

Con los dos puntos precediendo un nombre le dices que se trata de un parámetro. Entonces habrá un parámetro "usuario" y un parámetro "fecha" que deberás asignar antes de abrir la consulta:

Query1.ParamByName('usuario').AsString := ComboBox1.Text;
Query1.ParamByName('fecha').AsDate := StrToDate(ComboBox2.Text);

Si la fecha está en un DateTimePicker, cambia la segunda línea:

Query1.ParamByName('fecha').AsDate := DateTimePicker1.Date;

Cuando necesites, cierra la consulta, vuelve a cambiar los parámetros, y vuélvela a abrir para ver un subconjunto de registros diferente.

Espero que te sirva.

Ernesto De Spirito
http://www.latiumsoftware.com/es/index.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar