Ver Mensaje Individual
  #13  
Antiguo 13-11-2014
engranaje engranaje is offline
Miembro
 
Registrado: may 2011
Posts: 163
Reputación: 14
engranaje Va por buen camino
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.
Responder Con Cita