En lugar del combobox de la biblioteca standard de Visual Basic, importa el "Microsoft Data Bound List Controls" (DBLIST32.OCX), que te agregará dos nuevos controles, el DBList y el DBCombo.
Si miras sus propiedades, verás que son iguales a la ListBox y al ComboBox, pero tienen otras nuevas que son BoundColumn, ListField y RowSource. Configúralas así:
- Asigna las propiedades DataSource y DataField igual que en una ComboBox normal.
- Asigna en RowSource el DataControl que contiene la consulta a la tabla que contiene la columna que quieres mostrar en la Combo.
- Asigna en ListField el campo que se mostrará en la Combo.
- Revisa BoundColumn para que contenga el campo que relaciona las dos tablas.
Y todo lo demás lo hace VB solito.
Un ejemplo: tienes dos tablas, en una guardas los préstamos (pongamos que el campo llamado "cod_libro" contiene el código del libro prestado) y en otra los libros (en la que tienes el campo "codigo" y el campo "titulo"). Necesitas dos DataControl a los que llamaremos DataPrestamo y DataLibro. Pues asigna las propiedades en este orden:
- DataSource = DataPrestamo
- DataField = cod_libro
- RowSource = DataLibro
- ListField = titulo
- BoundColumn = codigo
y debería funcionarte sin más. Suerte!