¿Cómo puedo crear en access un cuadro combinado que escoja valores en función del rdo de otro campo?

Tengo un formulario en el que escojo el nombre de una empresa (de una tabla). Al llegar al campo Contacto, quiero que me de la opción de un cuadro combinado en el que solo me aparezcan como opciones los contactos de esa empresa. Previamente tengo creada una tabla de contactos es en que especifico los nombres y las empresas a las que pertenecen.

1 respuesta

Respuesta
1

en la página: http://angelessebas.es/

En el apartado supuestos y soluciones ---> cuadros combinados ---> cuadros combinados en cascada

Tienes algún ejemplo que te puede ayudar.

Cualquier duda, me consultas.

Gracias Angeles, pero no lo he conseguido, en el segundo cuadro combinado he puesto la esiguiente instrucción:

SELECT CONTACTOS.idcontacto, CONTACTOS.PERSONA FROM CONTACTOS where IdEMPRESA=Form!NOMBRE EMPRESA.Value ORDER BY CONTACTOS.PERSONA;

Pero me dice que: Error de sintaxis (falta operador) en la expresión de consulta "IdEMPRESA=Form!NOMBRE EMPRESA.Value"

Siento ser un novato en esto... Te ruego me digas qué es lo que hago mal.

Gracias de nuevo

Cuando el nombre de un campo, tabla, etc. Tiene espacios en blanco, tienes que ponerlo entre corchetes para que lo reconozca: [nombre empresa]

Me cuentas, saludos Angeles

*** No es conveniente poner espacios en blanco ni signos en el nombre de los campos, tablas... El único signo que no da problemas es el guión bajo: _ este actúa como un caracter

Hola Isabel: Nuevamente estoy aquí. Llevo todo el día de ayer intentando arreglarlo y no lo he conseguido. Te voy a escribir todo lo que tengo:

Tengo 2 tablas: EMPRESAS/PROFESIONALES
(idEMPRESA, NOMBRE) CONTACTOS (idcontacto, EMPRESA, PERSONA)
La combinación entre ambas tablas es
NOMBRE=EMPRESA, es decir, en el campo empresa de la segunda tabla toma un valor
del campo NOMBRE de la primera tabla

En el primer cuadro combinado:

Nombre: NOMBRE EMPRESA
Origen de la fila: SELECT
[EMPRESAS/PROFESIONALES].idEMPRESA, [EMPRESAS/PROFESIONALES].NOMBRE FROM
[EMPRESAS/PROFESIONALES] ORDER BY [EMPRESAS/PROFESIONALES].NOMBRE;
Número de columnas: 2
Columna dependiente: 1
Al hacer click: Procedimiento de Evento. Aquí
he puesto una macro que actualiza el formulario

En el segundo cuadro combinado:
Nombre: Cuadro combinado24
Origen de la fila: SELECT
CONTACTOS.idcontacto, CONTACTOS.PERSONA FROM CONTACTOS WHERE IdEmpresa=Form![NOMBRE
EMPRESA].Value ORDER BY CONTACTOS.PERSONA;
Número de columnas: 2
Columna dependiente: 1
Al hacer click: Procedimiento de Evento. Aquí
he puesto una macro que actualiza el formulario

Ahora cuando inserto el nombre de una empresa
en el campo NOMBRE EMPRESA, me sale un cuadro diálogo solicitándome el
IdEmpresa. Cuando le meto un número, me da a elegir en el campo Cuadro
combinado24 de entre todos los contacxtos que tengo sin discriminar por la
empresa que he insertado

He pensado que quizá la tabla original no está bien diseñada porque las he relacionado por el nombre de las empresas y no por el IdEmpresa. Creo que puede ir por ahí.

No quisiera quitarte más tiempo, pero si puedes ayudarme te lo agradecería. No te he puntuado aún por que no sé si al hacerlo se va a cerrar la consulta. No obstante, aunque no consiga arreglarlo te marcaré con el máximo puesto que me viene muy bien tu página, y he aprendido otras cosas también. Nuevamente te doy las gracias.

Efectivamente si puntúas se cierra la consulta, así que no lo hagas hasta que no hayamos resuelto el tema.

Veo varios fallos, creo que por no saber como funcionan los cuadros combinados.

En el 1er cuadro combinado, cuando pones: select idempresa, nombre... Lo que estas diciendo es que la 1ª columna del cuadro combinado es el idempresa y la 2ª el nombre, por lo que cuando pones columna dependiente: 1 le estas diciendo que el valor del cuadro combinado es el dela 1ª columna, es decir el valor del campo idempresa, si quisieras pasar el valor del campo nombre tendrías que poner columnadependiente: 2

Por otro lado, el el 2º cuadro combinado, en el where del origen de la fila tienes:

where idempresa=

Cuando el idempresa no pertenece a la tabla contactos (por eso te lo pide, como si fuese un parámetro)

Lo de la macro para actualizar el formulario... No se, yo pongo Me. Refresh y es suficiente.

Como te dije anteriormente, los nombres de lo campos, cuadros combinados... con signos / o espacios en blanco... No dan mas que problemas, procura no utilizarlos.

Me cuentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas