![]() |
![]() |
| Paypal | 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
|
||||
|
||||
|
Cita:
Sin embargo, de la otra forma (parámetros), cambias la sql y no tienes que hacer nada más.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#2
|
|||
|
|||
|
Normalmente a la hora de generar una sentencia sql en la mayoria de los procesos creo la sentencia con parametros y la asigno a un tquery. Posteriormente cuando se necesita asigno los valores a los parametros y la abro. Pero esto solo lo hago cuando la consulta siempre va a tener valores para cada uno de los parametros.
Cuando me encuentro con una consulta que puede filtrarse por una serie de parametros en cualquier combinación de ellos desde 0 a todos utilizo una estructura en la que monto la consulta sin el where para el caso de que no se asigne valor a ningún parámetro, y si hay algún parámetro con valor los voi añadiendo uno a uno a la consulta. Lo cierto es que por mas que le doy vueltas es la única forma que veo de tener una ventana de consulta con 6 edits por ejemplo para los datos de clientes y un boton de consulta de modo que si no relleno ningún edit me muestre todas los clientes, si relleno solo el nombre me muestre solo los que se llaman asi y si pongo el nombre y la calle me muestre todos los clientes que viven en esa calle y se llaman asi. Sin compuner la consulta de este modo no se me ocurre como hacer que cuando un parámetro no tiene nigún valor (o tiene '') la consulta se comporte como si en su lugar hubiera un " (campo is null or campo is not null), por otra parte entiendo que por norma las consultas son mas rapidas cuanto menos campos haya en los filtros. Si hay un modo de hacer lo que propuse en mi ejemplo solo con una texto de consulta sql fijo y nada mas que cambiando los parámetros me gustaría ver cual es para evitarme el "montaje" de la sentencia sql. |
|
#3
|
||||
|
||||
|
Sí, a veces no queda más remedio que hacerlo como comentas
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
|||
|
|||
|
Pues agradecido de nuevo.
Probé con lo que comenta ecfisa pero aunque funciona bien no hace el filtro que necesito ya que muestra, ademas de lo que busco, los registros con campos vacíos. Al final el código ha quedado como el que os pongo, es con el sistema de engranaje, no se si es lo correcto o no, no entiendo bien la parte que estais debatiendo, pero si que da el resultado que estoy buscando. He añadido hasta 5 edit para adaptarlo y puesto un OR en lugar de AND y ya está operativo.
Gracias de nuevo a todos, con todos los errores que me han surgido en este tiempo he aprendido ademas de lo buscaba otras cosillas, esto es un mundo y todos los días se aprende algo nuevo. Un abrazo ![]()
__________________
Mi proyecto paso a paso (Parte I) |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| ayuda con sentencia sql para campos blob en interbase | xor | Firebird e Interbase | 3 | 16-10-2007 22:52:52 |
| varios campos en un dblookupcombobox | anubis | Varios | 6 | 26-06-2007 04:24:50 |
| como funciona la sentencia locate para campos multiples | lugabame | Tablas planas | 3 | 17-05-2007 07:52:34 |
| Agregar Varios campos en la sentencia SELECT | m.ruiz | SQL | 5 | 23-01-2007 17:42:09 |
| Top con varios campos | trex2000 | MS SQL Server | 1 | 04-10-2006 21:12:15 |
|