Comobos dependientes desde access

Quisiera que me colaboraras con lo siguiente, tengo tres combos y lo que quiero hacer es que me queden dependientes,, las tres tablas están en access.. Seria algo así.
En el combo1 tengo el listado REMISIÓN, TERAPIA, IMÁGENES DX, ESPECIALISTA, si esgojo la opción IMÁGENES DX EN EL COMBO 1,,, en el combo2 me aparezca RAYOSX, ECOGRAFÍA, TAC si escojo en el combo2 RAYOSX,,, en el combo3 me aparezca RADIOGRAFÍA DE MANO, RADIOGRAFÍA DE RODILLA, RADIOGRAFÍA DE CRANEo,,.

1 respuesta

Respuesta
1
Entiendo que el formulario lo estás preparando de Visual Basic, no dentro de Microsoft Access.
Lo que necesitarías, antes de nada, son 3 tablas con un campo que relacione la primera con la segunda y otro para relacionar la segunda con la tercera. Lo correcto es que cada una de las tablas utilice un código y en la segunda tabla, cada registro haga referencia al código de la primera y en la tercera se haga referencia al código de la segunda.
Envíame la definición de las tres tablas e intento prepararte un código sencillo.
Tablas en access
TABLA SERVICIO aquí va el servicio que se va a solicitar tiene los datos
IMÁGENES DIAGNOSTICAS, TERAPIA, REMISIÓN, ejemplo iría ligado a un combo1.
Tabla imágenes diagnosticas
llevaria los datos, RAYOSX,ECOGRAFIA,GAMMAGRAFIA,TOMOGRAFIA,,
si en el combo1 escojo imagenes diagnosticas, que en el combo2 se me cargue los datos de imagnes diagnosticas,rayosx,ecografia,gammagrafia,tomografia,.
Tabla rayosx
Llevaría el listado de las radiografía,, radiografía de mano, radiografía de pie, radiografía cráneo etc.. si en el combo2 de imágenes diagnosticas escojo radiografía, en el combo3 se carguen los tipos de radiografía,,, esto seria más o menos lo que quiero hacer, con este ejemplo ya creo que pudo ir metiendo los demás datos que necesito.. porque irían más tablas como son.
Tabla de servicio(Imágenes dx, Terapia, Remisión)
Tabla de terapias (terapia física, trapia respiratoria)
Tabla de remisión (Pediatría, Gastroenterologo, Ginecólogo.)
Tabla imágenes DX (Rayosx,ecografia,tomografia.)
Tabla rayosx(radigrafia mano,radiografia craneo,radiografia rodilla..)
Tabla ecografia(Ecografia pelvica,Ecografia renal...)
Tabla Gammagrafia(Gammagrafia riñon,Gammagrafia corazon..)
Tabla tomografia (Tomografia cerebral,tomografia vesicula.)
Me imagino que debo relacionar lo datos de una tabla con la otra, pero con un ejemplo a seguir ya puedo continuar metiendo la demás información. Agradezco la colaboración, he buscado en Internet este tipo de ejemplos y prácticamente a sido imposible e infructuosa la búsqueda y ya es lo ultimo que me queda para terminar mi proyecto.
Este es código que utilizo para cargar el combo
Private Sub Form_Load()
Dim BD As ADODB.Connection
Dim rs As ADODB.Recordset
Set BD = New ADODB.Connection
Set rayosx = New ADODB.Recordset
' suponemos que la BD está en el mismo directorio que la aplicación
BD.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" & App.Path & "\Historias.mdb"
rayosx.CursorLocation = adUseClient
rayosx.Open "SELECT * FROM RayosX", BD, adOpenStatic, adLockOptimistic
With rayosx
Do Until .EOF
' suponemos que la columna a cargar es la primera
Combo1.AddItem .Fields(1)
.MoveNext
    Loop
End With
End Sub
Agradezco la colaboración
Por lo que veo no tienes experiencia en bases de datos.
Lo primero es definir las tablas y las relaciones entre ellas.
Te planteo las siguientes 3 tablas:
Tabla TipoDeServicio
  - Id: autonumérico (clave)
  - DescTipoServicio: text(50)
Tabla Servicios
  - Id: autonumérico (clave)
  - DescServicio: text(50)
  - IdTipoServicion: Numérico - Entero Largo
Tabla Detalles
  - Id: autonumérico
  - DescDetalle: text(50)
  - IdServicio: Numérico - Entero Largo
En la tabla tipo de servicio tendríamos algo así:
Id: 1 descTipoServicio: IMÁGENES DIAGNOSTICAS
id: 2 descTipoServicio: TERAPIA
id: 3 descTipoServicio: REMISIÓN
... etc ...
En la tabla de servicios tendríamos:
Id: 1 descServicio: RAYOS X idTipoServicio: 1
id: 2 descServicio: ECOGRAFIA idTipoServicio: 1
id: 3 descServicio: GAMMAGRAFIA idTipoServicio: 1
id: 4 descServicio: TOMOGRAFIA idTipoServicio: 1
id: 5 descServicio: TERAPIA FISICA idTipoServicio: 2
id: 6 descServicio: TERAPIA RESPIRATORIA idTipoServicio: 2
... etc ...
En la tabla de Detalles aparecería algo así:
Id: 1 descServicio: Radiografía Mano idServicio: 1
id: 2 descServicio: Radiografía Cráneo idServicio: 1
id: 3 descServicio: Radiografía Rodilla idServicio: 1
id: 4 descServicio: Ecografía Pélvica idServicio: 2
id: 5 descServicio: Ecografía Renal idServicio: 2
Con este tipo de estructura puedes saber fácilmente lo que tiene que aparecer en servicios cuando te eligen 'Terápia' o 'Imágenes diagnósticas'. Al elegir 'terapia' cogeríamos de la tabla de servicios los que tengan un idTipoServicio '2', que es el id que tiene en la primera tabla.
A partir de ahí es relativamente sencillo programar los 3 combos.
Gracias, ahora ya tengo una tabla de consulta donde tengo las columnas, tipo servicio, servicio, Detalles,, ahora como haría para llevar esta información a los tres combos al formulario de visual.
Dejame tu dirección de correo y te mando una prueba.
Ok te lo agradecería de verdad,, me puedes enviar el ejemplo a:
[email protected]
Acabo de mandarte un correo con un ejemplo de base de datos y programa VB, junto a un documento word con algunos comentarios.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas