Tengo un formulario con dos cuadro combinados dependientes y no me funciona

En la base de datos tengo 3 tablas y un formulario en donde va a contener tres campos los cuales dos de ellos son dos cuadro combinados de cada una de las tablas. Entonces quiero enlazar un cuadro combinado dependiente del otro pero no me funciona, me da un error en donde el segundo cuadro combinado sale con el campo en blanco.

Lo que quiero es que poniendo un ejemplo el cuadro provincia tenga su otro cuadro con poblaciones y que cuando seleccione una en concreto por ejemplo madrid, solo me permita el otro cuadro combinado meter los pueblos de madrid.

No sé donde puedo tener el error.

2 Respuestas

Respuesta
1

Las tablas han de estar relacionadas entre si (la que tiene las capitales de provincia y la que tiene las poblaciones de cada provincia).

También funcionaria tenerlas en una única tabla, por ejemplo la de las poblaciones a la que se le añadiría un campo mas: la provincia a la que pertenece.

Al desconocer como esta diseñado el esqueleto de la aplicación y desconocer como se esta implementando la relación entre las tablas implicadas no se puede analizar lo que causa el problema.

La relación entre ambas tablas se puede forzar y en cualquier caso con cada cambio en el combo con las capitales de provincia se ha de refrescar el origen de datos del combo provincias para que muestre las que le pertenezcan.

Hay en este y muchos foros mas abundante información y ejemplos de los 'combos en cascada' que puedes tomar como guía si no te es factible publicar lo que estas creando.

Respuesta
1

El problema que describe suele deberse a que el segundo cuadro combinado no se actualiza correctamente después de seleccionar un valor en el primero. Le explico paso a paso cómo configurar los cuadros combinados dependientes en Access:
1. Estructura de Tablas
Asegúrese de que tienes las siguientes tablas con una relación correcta:
TblProvincias
IDProvincia (Clave Primaria)
NombreProvincia
TblPoblaciones
IDPoblacion (Clave Primaria)
NombrePoblacion
IDProvincia (Clave Foránea relacionada con tblProvincias)
2. Configurar el Primer Cuadro Combinado (cboProvincia)
Este cuadro combinado mostrará la lista de provincias.
En el formulario, selecciona el primer cuadro combinado (cboProvincia).
Configure su Origen de la fila (Row Source) con la siguiente consulta SQL:
SELECT IDProvincia, NombreProvincia FROM tblProvincias ORDER BY NombreProvincia;
Asegúrese de que en la pestaña Formato, la propiedad Columna dependiente (Bound Column) esté en 1 (IDProvincia).
La propiedad Número de columnas (Column Count) debe estar en 2.
La propiedad Ancho de columna (Column Widths) debe ser 0cm;5cm (para ocultar el ID y mostrar solo el nombre).
3. Configurar el Segundo Cuadro Combinado (cboPoblacion)
Este cuadro combinado mostrará solo las poblaciones de la provincia seleccionada.
Selecciona el segundo cuadro combinado (cboPoblacion).
En su Origen de la fila (Row Source), ingresa la siguiente consulta SQL:
SELECT IDPoblacion, NombrePoblacion FROM tblPoblaciones WHERE IDProvincia = [Forms]![NombreFormulario]![cboProvincia] ORDER BY NombrePoblacion;
(Reemplace NombreFormulario con el nombre real de su formulario.)
Asegúrese de que:
Columna dependiente (Bound Column) sea 1.
Número de columnas (Column Count) sea 2.
Ancho de columna (Column Widths) sea 0cm;5cm.
4. Actualizar el Segundo Cuadro Combinado Automáticamente
Para que cboPoblacion se actualice cuando cambies la provincia:
Vaya a las propiedades de cboProvincia.
En la pestaña Eventos, en el evento Después de actualizar (After Update), coloque el siguiente código VBA:
Private Sub cboProvincia_AfterUpdate()
Me.cboPoblacion.Requery
End Sub
Este código hace que cboPoblacion se vuelva a cargar con los valores correctos cuando cambias la provincia.
5. Prueba y Soluciona Problemas
Si el cuadro combinado cboPoblacion aparece en blanco:
Verifique que la consulta SQL en Row Source de cboPoblacion esté correcta.
Asegúrese de escribir bien el nombre del formulario en la consulta SQL.
Si sigue con problemas, intente reemplazar [Forms]![NombreFormulario]![cboProvincia] por un valor fijo (ej. 1) en la consulta SQL y verifique si muestra datos.
Si no funciona, revise la relación entre tblProvincias y tblPoblaciones.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas