Te pongo un ejemplo:
Código:
Private Sub Form_Load()
Set BD = OpenDatabase(App.Path & "\BD.mdb")
Set RecSQL = BD.OpenRecordset("SELECT * FROM tabla1")
While Not RecSQL.EOF
Combo1.AddItem RecSQL.Fields("nombre").Value & "|" & RecSQL.Fields("direccion").Value
Combo1.ItemData(Combo1.NewIndex) = RecSQL.Fields("id").Value
RecSQL.MoveNext
Wend
RecSQL.Close
Set RecSQL = Nothing
End Sub
Private Sub Combo1_Click()
Combo2.Clear
Set RecSQL = BD.OpenRecordset("SELECT * FROM tabla2 WHERE id LIKE " & Combo1.ItemData(Combo1.ListIndex))
While Not RecSQL.EOF
Combo2.AddItem RecSQL.Fields("Telefono").Value & "|" & RecSQL.Fields("Mail").Value
RecSQL.MoveNext
Wend
RecSQL.Close
Set RecSQL = Nothing
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set BD = Nothing
End Sub
No es lo que tu pides pero es muy parecido, me explico...
Al cargar el formulario llena el combo1 con los datos de la tabla1 y en la propiedad Combo1.ItemData(Combo1.NewIndex) le agrego el campo ID (clave principal de la tabla) para poder hacer referencia a ese registro.
Al seleccionar un registro en el cobo1 vaciamos el cobo2 (para no mezclar datos y hacemos una SQL con la condición(WHERE) Combo1.ItemData(Combo1.ListIndex) que nos devuelve la ID del registro que previamente antes habíamos guardado y procede a cargar su teléfono y su email.
Necesitas 2 tablas y vincularlas por su ID, ok.
Si tenéis dudas con la conexión a access podéis mirar
AQUI
Espero que os sirva.