Hola, me gustaría que los valores de una lista desplegables se cargasen según lo seleccionado en una lista desplegable anterior. ¿Cómo sería la sentencia sql en access?
1 Respuesta
Respuesta de Antonio Pugliese
1
1
Antonio Pugliese, Aunque trabajo en el área de Operaciones de un empresa de...
Te explico como lo he hecho con un ejemplo aplicado a definir códigos postales, seleccionando de una lista ciudades de un país, asociado a una tabla (TCIUDADES), con dos campos, un códIgo para la ciudad (CODCIUDAD) y otro para el nombre (NOMCIUDAD). Una vez seleccionada la ciudad en el primer desplegable, en un segundo desplegable se verían los municipios de la ciudad seleccionada. Este segundo desplegable también estaría asociado a una tabla de municipios (TMUNICIPIOS) con cuatro campos. Uno para el código del municipio(CODMUNICIPIO), otro para el nombre de los municipios (NOMMUNICIPIO), otro para el código de la ciudad (CODCIUDAD), y un último campo tipo boolean (Si/no, Activo/Inactivo) (SELECCIÓN). En el primer desplegable (de ciudad) en el evento"al cambiar", debes escribir en lo siguiente: Dim BBDD As Database Dim TMUNICIPIOS As Recordset Dim VCIUDAD As String VCIUDAD = Nz(CODCIUDAD, "") Set BBDD= CurrentDb Set TMUNICIPIOS = PIC.OpenRecordset("SELECT * FROM TMUNICIPIOS)TMUNICIPIOS.MoveFirst Do Until TMUNICIPIOS.EOF TMUNICIPIOS.Edit If TMUNICIPIOS!CODCIUDAD = VCIUDAD Then TMUNICIPIOS!SELECCION = True Else TMUNICIPIOS!SELECCION = False End If TMUNICIPIOS.Update TMUNICIPIOS.MoveNext Loop TXTCIUDAD = VCIUDAD Después en desplegable de Municipios en la pestaña Datos, apartado "Origen de la Fila" se colocaría la siguiente sentencia SQL SELECT * FROM TMUNICIPIOS WHERE SELECCION=TRUE ORDER BY TMUNICIPIOS.CODPROVINCIA, TMUNICIPIOS.NOMMUNICIPIO; He supuesto que conoces los detalles de la configuración de un cuadro de lista, si tienes algún problema con esto me avisas.