Access - Consulta de parametro

   
Vista:

Consulta de parametro

Publicado por Aparicio Quinones (3 intervenciones) el 28/12/2010 01:53:42
Hola, tengo una base de datos llamada socios y la tabla llamada Activos3. Lo que quiero hacer por ejemplo, es una consulta de parametro donde pueda tomar el campo Contacto y el campo Status, pero que el status no necesariamente hay que ponerlo, o sea, estaria en un OR. Lo he intentado pero cuando corro la consulta me sale la primera vez, pero si la corro nuevamente me duplica las preguntas, o sea, me sigue preguntarme y no me da ningun resultado. Agradeceria su ayuda. la vista en SQL es:

SELECT Activos3.*, Activos3.Contacto, Activos3.Status
FROM Activos3
WHERE (((Activos3.Contacto) Like [Entrar Nombre o Primera letra:] & '*') OR ((Activos3.Status) Like [Status del Socio:] & '*'));
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta de parametro

Publicado por pepe (67 intervenciones) el 28/12/2010 02:30:41
No estoy seguro de entender bien lo que intentas.

Los parametros de las consultas SQL se deben introducir cada vez que se ejecute la consulta. Si con duplicar las preguntas te refieres a que cuando vuelves a ejecutar la consulta te vuelve a pedir los parametros, es el funcionamiento correcto.

En cada ejecucion podemos introducir valores distintos y obtendremos resultados distintos en funcion de los valores, lo que puede llevarnos a que si no se cumple ninguna de las condiciones tengamos 0 registros.

Ten en cuenta que un OR no significa que no haga caso a Status cuando no introducimos un valor, sino que incluirá los registros que cumplan con dicho valor que será *.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta de parametro

Publicado por Aparicio (3 intervenciones) el 28/12/2010 04:22:43
Disculpa, creo que no me explique bien. La consulta de parametro es entre dos campos. Contacto y status. Hasta donde he estudiado en mis clases de SQL cuando hay un OR se da la situacion de que la primera cosa se tiene que cumplir pero no necesariamente la segunda para que sea cierta la premisa. Se que cada vez que se corre la consulta tengo que entrar los valores, a lo que me refiero es que cuando corro la consulta los parametros que puse fue que el contacto empieze con cualquier letra o parte del nombre o lo que sea, por eso el wilcard del "*". y luego hay un OR y luego el parametro de Status, pero al entrar estos dos parametros me vuelven a salir nuevamente la cajas preguntandome por los mismos parametros que ya habia entrado. No se si me explique bien ahora.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta de parametro

Publicado por quique (293 intervenciones) el 28/12/2010 03:30:40
Qzás esto te ayude.

http://cid-ccb878ae4ff946b4.office.live.com/self.aspx/.Public/busquedaCriteriosVarios.rar#resId/CCB878AE4FF946B4!144

Saludos

Quique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta de parametro

Publicado por Aparicio (3 intervenciones) el 28/12/2010 18:04:35
Hola pepe. Se ve muy util el enlace que me dices, pero el problema es que el usuario que tienen para manejar esta base de datos es completamente ignorante de lo que esta haciendo, la persona solo se mantiene haciendo busquedas, ya yo le habia enseñado la base de datos usando botones de filtro pero lo encontraba muy dificil(la persona) es por eso que se me ocurrion hacer un boton que abriera una consulta donde me pidiera unos parametros y de esa manera el usuario lo vio mas facil. La consulta me funciona la primera vez pero cuando la corro por segunda vez no me funciona. he tratado muchas cosas pero nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta de parametro

Publicado por pepe (67 intervenciones) el 29/12/2010 02:04:38
Antes de nada mencionar que el enlace lo proporciona quique.

Si el problema es que la consulta pide los parámetros 2 veces, o sea, contacto -> status -> contacto -> status, es porque al diseñarla habrás duplicado los parámetros. Comprueba que los nombres de los parametros en la seccion de parámetros sean exactamente los mismos que en la clausula WHERE.

Por otro lado un par de indicaciones:

Las consultas de parámetros son un recurso limitado y poco aconsejado para el uso por parte de un usuario inexperto y para mi gusto poco elegante. Deberías intentar ofrecer un diseño de formulario que el usuario acepte de buen grado.

Sobre los operadores SQL deberías repetir esas clases y comprobar el alcance de una condición OR.

En cuanto a que la segunda ejecución de la consulta no funciona, insisto, un PC es una calculadora, si sumamos 2 + 2 obtendremos 4 todas las veces que lo hagamos, otra cosa es que estemos sumando 2 + 3 = 5 pensando que sumamos 2 + 2. Los programadores lo sabemos bien, cuantas horas hemos pasado buscando un error pensando que poníamos 2 + 2 = 5 :-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta de parametro

Publicado por mi menda (1111 intervenciones) el 28/12/2010 19:13:13
Hola:
Prueba con el operador AND

SELECT Activos3*, Activos3.Contacto, Activos3.Status
FROM Activos3
WHERE (((Activos3.Contacto) Like [Entrar Nombre o Primera letra:] & '*') AND ((Activos3.Status) Like [Status del Socio:] & '*'));

Al utilizar el caracter comodín * la expresión siempre devolverá verdadero en todos los campos en que status no tenga valores nulos. Con el operador OR la consulta te tiene que devolver todos los contactos en el que el campo status no sea nulo, aunque filtres en el primer parametro,

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar