hola aca tienes un jemplo bamos utilizar la base de datos northwind la que viene predefinida en el sql server 2000
utilizando las dos tablas, tanto la tabla categories y la tabla products
te boy ha dar un ejemplo no en capas. tu tendras adaptarlo segun tu conveniencia
vamos utilizar un SqlDataAdapter , lo cual nos permitira hacer la consulta sql
para agrgarlo luego aun datatable los datos obtenidos en la consulta
Imports System.Data.SqlClient
Imports System.Data.DataView
Public Class Form1
Dim con As New SqlConnection("Integrated security=sspi;server=.;database =northwind")
Dim dtb As DataTable
Dim da As SqlDataAdapter
Function llenar_combo() As DataTable
da = New SqlDataAdapter("select *from categories", con)
dtb = New DataTable
da.Fill(dtb)
Return dtb
End Function
Function llenar_listbox() As DataTable
'creamos la consulta y filtramos los datos segun el campo que tiene en comun
da = New SqlDataAdapter("select *from products where categorYid =" & Me.ComboBox1.SelectedValue & "", con)
dtb = New DataTable
da.Fill(dtb)
Return dtb
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.ComboBox1.DataSource = llenar_combo()
Me.ComboBox1.ValueMember = "categorYid"
Me.ComboBox1.DisplayMember = "categoryname"
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Try
Me.ListBox1.DataSource = llenar_listbox()
Me.ListBox1.ValueMember = "Productid"
Me.ListBox1.DisplayMember = "productname"
Catch ex As Exception
End Try
End Sub
End Class
espero que te sirva de algo