Kadylel | |
| 2007-04-17 23:02 - Respuestas: 8 - Tema nº: 2444841
Características: Windows XP Home, Intel duo 1 GB, 120 GB disco duro, Memoria RAM de 80.
Hola, espero y me ayuden, estoy creando una base de datos para redes médicas y hospitalarias, la verdad soy novato en creaciones de base de datos en Access pero mi pregunta es la siguiente: se puede relacionar un cuadro combinado a otro? por ejemplo tengo en mi tabla "estados" los 32 estados de la república mexicana y en otra tabla "ciudades o municipios" las ciudades y municipios que pertenece a cada estado, necesito que en el formulario al momento de elegir en mi combo de cuadro combinado una ciudad en "ciudades o municipios" aparezca automáticamente en el cuadro combinado "estados" el estado que pertenece dicha ciudad. Les agradecere si me contestan esta pregunta a la brevedad posible.
| |
|
|
ebolo | |
|
Re: Relación de datos de un cuadro combinado a otro - 2007-04-18 09:07 - Respuesta 2
Hola kadylel, tienes que usar la propiedad Origen de Fila para pasárselo mediante código.
Hay que saber como tienes diseñada las tablas para pasarle bien el origen de la fila. Ejemplo:
-
Si suponemos que tienes una tabla "Estados", dónde tenemos un campo 'índice' y otro campo 'Estado' y otra tabla de "Municipios", donde tienes los campos 'Municipio', 'Indice_Estado'.
Tenemos en el formulario:
- Un cuadro_combinado1, con el origen de la Fila: SELECT Municipio, Indice_Estado FROM Municipios.
- Un cuadro_combinado2, con origen de la fila: SELECT Estado From ESTADOS
En el evento del cuadro_combinado1, después de actualizar, pones lo siguiente:
Private Sub Cuadro_combinado1_AfterUpdate()
If Me.Cuadro_combinado1.ListIndex = -1 Then
Me.Cuadro_combinado2.Rowsource="SELECT Estado From ESTADOS"
Else
Me.Cuadro_combinado2.Rowsource="SELECT Estado From ESTADOS WHERE índice=" & Me.Cuadro_combinado1.Column(1, Me.Cuadro_combinado1.ListIndex)
End If
me.requery
End Sub
-
Si no entiendes algo lo dices.
Saludos.
| |
|
|
Kadylel | |
|
Re: Relación de datos de un cuadro combinado a otro - 2007-04-18 22:17 - Respuesta 3
Hola, muchas gracias por contestar, tengo en el cuadro combinado el origen de la fila de "Ciudades o Municipios" como SELECT CatalogoCiudades.[Ciudad o Municipio] FROM CatalogoCiudades y en el de "Estados" el siguiente: SELECT Estados.IdEstado, Estados.Estado FROM Estados; cabe señalar que el campo IdEstado lo tengo como indice o ID de ambas tablas, copié el código que me diste, obviamente cambiando el nombre del cuadro combinado que yo tenía, pero a la hora de hacer la prueba, selecciono una ciudad y en el campo estados me aparece en blanco, gracias por ayudarme!! | |
|
|
ebolo | |
|
Re: Relación de datos de un cuadro combinado a otro - 2007-04-19 00:04 - Respuesta 4
Por qué no me pones el código que has puesto y te lo reviso?.
De todas fromas prueba:
... cuadro combinado el origen de la fila de "Ciudades o Municipios" como SELECT CatalogoCiudades.[Ciudad o Municipio] FROM CatalogoCiudades...
yo pondría:
SELECT CatalogoCiudades.[Ciudad o Municipio], CatalogoCiudades.IdEstado FROM CatalogoCiudades
....en el de "Estados" el siguiente: SELECT Estados.IdEstado, Estados.Estado FROM Estados....
yo pondría:
SELECT Estados.Estado FROM Estados
En el evento afterupdate:
...
else
Me.CCEstados.Rowsource="SELECT Estado From ESTADOS WHERE IdEstado=" & Me.CC_Ciudades.Column(1, Me.CC_Ciudades.ListIndex)
...
donde
Me.CC_Ciudades. es el nombre del cuadro combinado de ciudades.
Me.CCEstados. es el nombre del cuadro combinado de estados.
Un saludo.
| |
|
|
Kadylel | |
|
Re: Relación de datos de un cuadro combinado a otro - 2007-04-19 00:39 - Respuesta 5
Gracias por tu paciencia y dejame comentarte que ya hice todo lo que me dijiste que hiciera, ya cambie en origen de la fila a las dos tablas, ya me estoy acercando a lo que quiero hacer, de nuevo me hace lo mismo, elijo mi ciudad y el estado no aparece en el cuadro combinado "estados" pero cuando revisé las propiedades de "estados" en origen de la fila ya aparece el IdEstado correcto, pero ese estado no aparece en mi campo en el formulario, el codigo que puse es el siguiente:
Private Sub Cuadro_combinado609_AfterUpdate()
If Me.Cuadro_combinado609.ListIndex = -1 Then
Me.Cuadro_combinado611.RowSource = "SELECT Estado FROM Estados"
Else
Me.Cuadro_combinado611.RowSource = "SELECT Estado FROM Estados WHERE IdEstado=" & Me.Cuadro_combinado609.Column(1, Me.Cuadro_combinado609.ListIndex)
End If
Me.Requery
End Sub
Ahora mi pregunta es la siguiente, quiero que ese mismo dato que me dé de estados se guarde en la tabla principal de mi base de datos, esto es posible, verdad?
Gracias por tu apoyo y saludos desde México, D.F. | |
|
|
|