Filtros de selección de datos

Estoy haciendo mi primer programa con Delphi y Mysql. Quería saber como hacer un filtro de selección de datos en un formulario, me explico que el usuario vaya seleccionando los diversos campos del formulario, el operador (mayor, menor, igual) y su valor. Gracias de antemano.

1 Respuesta

Respuesta
1
En un tquery pones enla property sql el texto: select * from tabla where :where, donde table es tu tabla claro.
Construimos la where dinámicamente de la forma:
vwhere : string;
begin
vwhere := '1=1 ';
if criterio1 <> '' then
vwhere := vwhere + ' and campo1 = '+criterio1;
if criterio2 <> '' then
vwhere := vwhere + ' and campo2 = '+criterio2;
...
despues, para hacer la consulta hacemos
query1.close;
query1.parambyname('where').Asstring := vwhere;
query1.open;
El parambyname nos sustituye el parámetro precedido de 2 puntos por eltexto, numero, fecha quequeramos. Si fuera una fecha solo tendríamos que poner .AsDate := fecha o AsInteger enel caso que el campo fuera numérico.
Perdona no poder haberte contestado antes. Quería preguntarte una ultima duda que tengo sobre el tema. Cuando se van introduciendo en el formulario el campo, el operador y valor a filtrar, donde los vas almacenando antes,¿en una tabla?, antes de ejecutar el filtro.
No, los capturo directamente de la vista (form) en el momento que apretamos el botón o lo que sea.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas