'Variable global de conexion
Dim oleCon as new OledbConnection("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = BaseDatos.mdb")
'En el evento load de la form puedes cargar el combo de Paises
Dim da as new dataAdapter("SELECT clavepais,nombrePais FROM paises", oleCon)
Dim ds as new dataset()
da.fill(ds, "paises")
With me.comboPaises
.ValueMember = ds.Tables(0).Columns("clavePais").ToString
.DisplayMember = ds.Tables(0).Columns("nombrePais").ToString
.DataSource = ds.Tables(0)
End With
' En el evento SelectedIndexChanged del combo pais pones lo siguiente para llenar el combo de estados.
Dim da as new dataAdapter("SELECT claveEstado,nombreEstado FROM estados WHERE clavePais = " & comboPaises.SelectedValue, oleCon)
Dim ds as new dataset()
da.fill(ds, "estados")
With me.ComboEstados
.ValueMember = ds.Tables(0).Columns("claveEstado").ToString
.DisplayMember = ds.Tables(0).Columns("nombreEstado").ToString
.DataSource = ds.Tables(0)
End With
NOTA: asumo que tienes una tabla estados con todos los estados independientemente del pais y que tienes un campo "clavePais" en esta misma tabla para hacer referencia al pais de la tabla paises.
Suerte