Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

¿Cómo podria hacer este tipo de consultas?

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: ¿Cómo podria hacer este tipo de consultas? Responder citando

Hola a todos. Vereis estoy haciendo un formulario para realizar búsquedas, en este caso clientes. He decidido que puede buscarse por varios campos (DNI, nombre o tfno). En principio habia pensado en poner tantos radio buttons como campos quiera buscar (en esta caso 3) y en cada uno de ellos cambio el contenido del SQL->Text para ajustarlo a lo que quiera buscar.

Pero se me ha ocurrido que muchas veces queremos buscar por varios campos (por ejemplo que el nombre empiece por J y que su dni empezaba por 4899). En este caso en vez de radio buttons, haría falta unos checkbox para escribir en aquellos campos que quiera buscar... pero la consulta SQL ya no sería tan facil. Es decir, antes era el tipico "Select * from clientes where clientes.dni like :DNI" (por ejemplo).... pero ahora, al haber 3 campos (en este ejemplo) la consulta puede ser de varios tipos: buscar por dni, por dni y nombre, por dni y tfno, por los 3 o por nombre y tfno... con lo que tendria que estar combinando estas posibilidades e ir añadiendo y quitando parámetros a la consulta (dependiendo del núemro de campos a buscar).

Entonces me preguntaba si existe algún otro método mas "óptimo" que hacer todas esas combinaciones e ir cambiando cada 2x3, por tambien está el problema de que si luego desmarco una opción tengo que "quitar" del SQL que busque por ese campo (que ahora mismo no se me ocurre como borrar una parte del SQL :S)

Por otro lado, si pensais que mi forma de buscar es un poco tosca y que hay otro método mejor acepto sugerencias xDDD

PD: Otra consulta, pensba que el SQL que viene integrado en Builder era el estandar pero veo que no ya que opr ejemplo me distingue en las consultas, las mayúsculas de las minúsculas (cosa que no quiero q me haga), ¿hay alguna ocpión del Query para que no lo haga?

En fin tan solo me falta daros las gracias, teneis unos hilos y tutos para quitarse el sombrero, estos dias estoy aprendiendo mas builder que lo que aprendi en la universidad xDD

saludos!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola ercea.

Tu no debes hacer nada mientras la persona selecciona en los checkbox las diferentes opciones.

Luego que el usuario haya hecho su seleccion y escrito la palabra de busqueda, y de clic, por ejemplo, en un boton que diga Buscar, entonces empieza a funcionar tu codigo.

Tienes varias sentencias if en las que preguntas si tal checkbox esta seleccionado, si es asi, adicionas la parte de codigo correspondiente, si no lo es, pues continuas de largo.

Y listo!

Nos cuentas como te va.
_________________
Dios es real... a menos que se declare entero!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Ok jacko, muchas gracias por responder. Luego lo pruebo, ya que estoy de examenes y tengo un poco apartado el programa, a parte estoy muy interesado en Firebird y me estoy documetando un poco (y buscando algun ejemplillo xD) ya que ahora mismo no se muy bien manejarme (sobre todo el tema de las transacciones).
Pero es una buena idea Very Happy, ya que es mejor de lo que tenía pensado y me ahorrará bastante código. Cuando me ponga ya os informo del resultado Wink

saludos y muchas gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.