Visual Basic.NET - dos combobox relacionados.

   
Vista:

dos combobox relacionados.

Publicado por miguel (1 intervención) el 01/11/2010 16:40:38
buenas,

Tengo dos combobox que los datos los saco de una base de datos y dos tablas diferentes. La relacion estaria bien, el problema es al lanzar la aplicacion.
en el Combobox2 cargo las comunidades y en el combox3 las provincias, pero como detecta cambios en el valor me ejecuta las provincias por como esta configurado el combobox2.

No se como hacerlo para que el combobox3 no se carge hasta que seleccione algo en el combobox2.

gracias por la ayuda.

La relacion esta hecha por el ID que el dato lo recibe de ValueMember del combobox2.

Imports System.Data.OleDb

Public Class new_cliente
Dim comu As String

Private Sub new_cliente_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
comunidad()
ComboBox2.Text = ""
End Sub

Public Sub provincias()
Dim con_pro As OleDbConnection
Dim or_pro As OleDbDataAdapter
Dim tabla_pro As New DataSet
con_pro = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & "Base_Datos.mdb" & "")
or_pro = New OleDbDataAdapter("select * from Provincias Where Comunidad = '" & comu & "' ", con_pro)
or_pro.Fill(tabla_pro)
ComboBox3.DataSource = tabla_pro.Tables(0)
ComboBox3.DisplayMember = tabla_pro.Tables(0).Columns(1).Caption.ToString
con_pro.Close()
End Sub

Public Sub comunidad()
Dim con_comu As OleDbConnection
Dim or_comu As OleDbDataAdapter
Dim tabla_comu As New DataSet
con_comu = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & "Base_Datos.mdb" & "")
or_comu = New OleDbDataAdapter("select * from Comunidades ORDER BY Comunidades", con_comu)
or_comu.Fill(tabla_comu)
ComboBox2.DataSource = tabla_comu.Tables(0)
ComboBox2.DisplayMember = tabla_comu.Tables(0).Columns(1).Caption.ToString
ComboBox2.ValueMember = tabla_comu.Tables(0).Columns(0).Caption.ToString
con_comu.Close()
End Sub

Private Sub ComboBox2_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox2.SelectedValueChanged
comu = ComboBox2.SelectedValue.ToString
provincias()
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder