FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
como crear una busqueda mediante diversos parametros
Hola que tal. Tengo un problema en el modulo de consultas de mi aplicacion. En una tabla llamada SERVICIO tengo algunos campos (id_progresivo,region,municipio,localidad,tipo_escuela,fecha_atencion,subsistema.etc, etc, etc). Quiero un formulario donde cada campo sea representado por un ComboBox y asi, el usuario elija que registros buscar. Ahora, el usuario puede elegir varios criterios de busqueda mediante los comboBox, puede usar la combinacion de mas de dos para realizar su busqueda. Por ejemplo: Buscar las escuelas que son de tipo XXXXX y que fueron atendidas en X dia. O tambien, Buscar las escuelas De tipo XXXX, que son de esta localidad, y que fueron atendidas XXX dias.
Entonces, quiero que el usuario sea capaz de hacer esto. Y por ultimo, en el formulario, tener unos botones de checkbox(para poner palomitas en el cuadrito) para que el usuario elija que campos desea que sean visualizados. Ya por ultimo el boton de buscar, que realizara la busqueda y la presentara en un DBGrid. Y pues tambien la opcion de imprimir. Utilizo ADOConnection. Espero su ayuda, gracias |
#2
|
||||
|
||||
¿Y la pregunta es?
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
Muchos problemas, una solución!
Cita:
Pides muchas cosas y no eres muy específico. Que SGBD estas utilizando? En lugar utilizar un ComboBox, debes utilizar un Dbcombobox, de hecho un lookup si deseas que te muestre un texto que referencíe a otro valor. Por cierto, la mayoría de los que entramos aquí sabemos que es un "checkbox" y no necesitas decirnos que es. Utiliza los mismos controles que has mencionado para ir formando una Query, y mandala a tu servidor, usa un DataSource para ligar el resultado de tu Query a tu DBGrid, y bueno, el imprimir es otra cosa, busca en el foro acerca de Quickreport. Te recomiendo que leas la guia de estilo. |
#4
|
||||
|
||||
Casi todos mis formularios de selección son así y lo que hago es reconstruir la consulta cada vez. Simplemente con varios if-else consecutivos para ir añadiendo las condiciones que necesito en cada ejecución.
Claro que yo no uso ADO. |
#5
|
||||
|
||||
Hola yo tiendo a pensar demasiado en POO, al punto de llegar a ponerme en una situación "Purista".
A mi modo de ver, no veo nada malo e que para estos casos se pueda emplear un pequeño "motor" o generador de expresiones SQL en una clase. Puede que la idea de Lepe inspire a metroyd. Considero que debe rechazarse un análisis desde el punto de vista de la Capa Interfaz y abordar el problema desde el plano lógico (que es donde realmente está el lio). Saludos, |
#6
|
|||
|
|||
ME podrias ayudar
|
#7
|
|||
|
|||
Claro, el problema que tengo es generar consultas en tiempo de ejecucion, y cheque el link que pusieron por ahi pero creo que esta en un nivel demasiado avanzado a comparacion mia
Gracias de cualquier forma |
#8
|
||||
|
||||
metroyd,
Primeramente debe establecer hasta que punto pretendes que sea flexible el armado de las consultas. La manera más sencilla de conseguir lo que deseas hacer es tener una serie de variables en donde registres las opciones que elija el usuario. El SQL se compondrá entonces de la concatenación de dichas opciones. Por ejemplo podrías tener algo así:
Y por ejemplo suponer que en un OnChage de un Combo para seleccionar una condición hacer algo como esto:
Y hacer por ejemplo en un OnClick de un botón algo como esto: StrSQL := 'select from ' + StrTabla1 + StrCampo1 + ' where ' + StrCampo1 + ' ' + StrOperador + ' ' + StrCampo2; Para "confirmar" la consulta. Y para ir finalizando hacer algo como:
Para asociar la consulta generada. ¿Me explico? Como te he dicho antes... necesitas definir que tan flexible serán tus consultas. Dependiendo de ello puede que se logren hacer más o menos fácil estructurar los anidamientos y las series de IFs... Hay muchas maneras de conseguir lo que buscas. Creo que lo que te dicho te puede servir de orientación. Como podrás comprender el problema no es de interfaz sino de lógica, necesitarás sentarte un rato para saber armar las condiciones. Ten presente que es posible que algunas condiciones que elija el usuario pueden no ser compatibles, por ello cuando armes el SQL deberás preveer algunas condiciones. Saludos, |
#9
|
|||
|
|||
Cita:
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Qreport es posible imprimir un label con diversos Fonts ??? | QuarkBcn | Impresión | 2 | 03-04-2008 10:15:08 |
Crear base de datos mediante componentes de Interbase | vivamotos | Conexión con bases de datos | 5 | 08-02-2008 09:16:05 |
Novato (Parametros de busqueda) | enecumene | Conexión con bases de datos | 4 | 02-06-2006 00:03:18 |
busqueda por distintos parametros | raffagia | Varios | 10 | 26-08-2005 11:45:51 |
busqueda por dos parametros | rolando_s | Conexión con bases de datos | 1 | 03-03-2005 12:12:20 |
|