Hola, lo que consultas implica que sepas cómo cargar datos en el combobox (sin ser desde access) y hacer que al cambiar un item elegido cambien los items en el siguiente combo. Una vez sepas hacer esto debes pasar a operar en conexión con la base de datos. Esto es demasiado amplio para explicarlo en conjunto. Nuestra filosofía es intentar ayudar a partir del código que se haya intentado crear. Si te hacen falta fundamentos de Visual Basic te recomiendo este material
http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61 Si pegas el código creado indicando dónde tienes problemas o errores intentaremos ayudarte. También debes indicar con qué versión de Visual Basic estás trabajando.
Aquí pongo un código de ejemplo en Visual Basic 2010 para que los items de un combo se modifiquen en base a la elección en otro combo.
Código para clases Pais y Continente
Public Class PaisCls
Private _PaisID As Integer
Public Property PaisID() As Integer
Get
Return _PaisID
End Get
Set(ByVal value As Integer)
_PaisID = value
End Set
End Property
Private _PaisNombre As String
Public Property PaisNombre() As String
Get
Return _PaisNombre
End Get
Set(ByVal value As String)
_PaisNombre = value
End Set
End Property
Private _ContinenteID As Integer
Public Property ContinenteID() As Integer
Get
Return _ContinenteID
End Get
Set(ByVal value As Integer)
_ContinenteID = value
End Set
End Property
End Class
Public Class ContinenteCls
Private _ContinenteID As Integer
Public Property ContinenteID() As Integer
Get
Return _ContinenteID
End Get
Set(ByVal value As Integer)
_ContinenteID = value
End Set
End Property
Private _ContinenteNombre As String
Public Property ContinenteNombre() As String
Get
Return _ContinenteNombre
End Get
Set(ByVal value As String)
_ContinenteNombre = value
End Set
End Property
End Class
Añadir dos ComboBox (cmbContinentee y cmbPais) a un formulario y el siguiente código al formulario:
Dim ContinenteList As New List(Of ContinenteCls)
Dim PaisList As New List(Of PaisCls)
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Inicialización de listas con algunos datos cualquiera
For i = 1 To 3
ContinenteList.Add(New ContinenteCls With {.ContinenteID = i, .ContinenteNombre = "Continente" + CStr(i)})
For j = 1 To 5
PaisList.Add(New PaisCls With {.ContinenteID = i, .PaisID = j, .PaisNombre = "Cont" + CStr(i) + " - Pais" + CStr(j)})
Next
Next
'Rellenar el Combo Continente
With cmbContinente
.ValueMember = "ContinenteID"
.DisplayMember = "ContinenteNombre"
.DataSource = ContinenteList
End With
End Sub
Private Sub cmbContinente_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbContinente.SelectedValueChanged
Try
'Hacer que se rellene el combo de pais según el contienente elegido
With cmbPais
.ValueMember = "PaisID"
.DisplayMember = "PaisNombre"
.DataSource = PaisList.Where(Function(f) f.ContinenteID = cmbContinente.SelectedValue).ToList
End With
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub