Consulta en access: crear consulta haciendo referencia al valor de un cuadro combinado

Seguramente sea muy fácil pero no se hacerlo: Tengo creada la siguiente consulta:

SELECT HTB.[APELLIDOS Y NOMBRE], HTB.CATEGORÍA, HTB.NOMBRAMIENTO, HTB.SERVICIO, HTB.[FECHA DE INICIO]
FROM HTB
WHERE (((HTB.CATEGORÍA)=[Valor]));

Me gustaría que en lugar de "valor" pudiese coger el valor seleccionado desde un cuadro combinado, en mi caso "Cuadro combinado27".

1

1 Respuesta

0 pts.

Tendrás que poner el valor del cuadro combinado.

Si el campo CATEGORÍA es de texto:

'" & form!Cuadrocombinado27.Value & "'

Si es numérico:

" & form!Cuadrocombinado27.Value & "

Es decir, quitando la comilla simple que es el delimitador de texto.

Hola, muchísimas gracias por responder, y tan rápido. He copiado y pegado su solución pero no muestra ningún resultado, las consultas salen vacías.¿ Podría darme algún enlace donde expliquen cada parte de la expresión? así podría aprender y entenderlo para futuras consultas. Es decir, que quisiera aprender si "&" es un puntero a..., si "form" se refiere al formulario activo, si "Value" es el valor seleccionado del cuadro, etc. Aún así, aprovechando su tiempo, ¿que puede estar fallando?, he intentado poner el espacio en "Cuadro combinado27", a quitarlos donde había, es decir, probar sin saber, pero nada. De nuevo agradezco su tiempo, saludos.

Access se compone de "colecciones" y "objetos" por ejemplo: un objeto puede ser un tabla (TableDef) que pertenece a una colección (tabledefs) o un formulario (Form) que pertenece a una colección (Forms)

Para referirnos a cualquier objeto le tenemos que decir dónde está, por ejemplo un cuadro combinado (Cuadro1), está en un formulario (Form1), para referirnos a este cuadro combinado haríamos:

Forms! Form1! Cuadro1

Es decir, el el objeto Cuadro1 pertenece al objeto formulario Form1 que está en la colección de formularios de la BD activa Forms

Como en tú caso supongo que la consulta la tienes en el formulario dónde está el objeto cuadro combinado, no es necesario referirse a la colección ni poner el nombre del formulario de esa colección, ya que asume el nombre del formulario activo, por lo que pondríamos:

Form! Cuadro1

Esto es para abreviar, si quieres poner Forms! Form1! Cuadro1 funcionaria igual.

Efectivamente VALUE es el valor del objeto, en este caso el valor del cuadro combinado, generalmente si no lo pones no pasa nada, lo asume igual, pero yo tengo la costumbre de ponerlo siempre, me evito errores.

En cuanto al & es para concatenar, digamos que para decir a access que es un valor el que quiero, no una cadena de texto.

Por último, si tienes espacios en blanco en cualquier nombre (el de una tabla, consulta, cuadro combinado...) tienes que ponerlo entre corchetes; [Cuadro combinado27]

Te aconsejo que no utilices espacios ni caracteres "raros" en los nombres, quitando las letras y los números el único carácter que no da problemas es el guión bajo: _

Muchísimas gracias Ángeles por la aclaración, me ha servido para solucionar mi duda y saber lo que estaba haciendo.

Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas