Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/07/2012, 11:51
Avatar de cristiantorres
cristiantorres
 
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 2 meses
Puntos: 61
Respuesta: combobox y access en vb.net

yo crearia 2 metodos 1 para cada combobox algo asi.

Código vb:
Ver original
  1. Dim conn As New OleDbConnection() 'AQUI ESPECIFICA TU CADENA DE CONEXION A NIVEL DE CLASE
  2.  
  3. Public Function Datos() As DataTable
  4.     Dim dt As New DataTable()
  5.  
  6.     Dim consulta As String = "SELECT * FROM local"
  7.     'consulta a la tabla paises
  8.     Dim comando As New OleDbCommand(consulta, conn)
  9.  
  10.     Dim adap As New OleDbDataAdapter(comando)
  11.  
  12.     adap.Fill(dt)
  13.     Return dt
  14. End Function
  15.  
  16. Public Function Filtro(filtro As Integer) As DataTable
  17.     Dim dt As New DataTable()
  18.  
  19.     Dim consulta As String = "SELECT FROM jefe where local = @filtro"
  20.     'consulta a la tabla paises
  21.     Dim comando As New OleDbCommand(consulta, conn)
  22.     comando.Parameters.AddWithValue("@filtro", filtro)
  23.  
  24.     Dim adap As New OleDbDataAdapter(comando)
  25.  
  26.     adap.Fill(dt)
  27.     Return dt
  28. End Function
Como podes ver en la primera función obtienes todos los datos de la tabla local y en la segunda función obtienes los datos filtrados de la tabla jefe, en el código hago el filtro mediante el id si no es tu caso solo lo cambias.

Ahora en el evento load del formulario cargas el primer combobox

Código vb:
Ver original
  1. ComboBox1.DataSource = Datos()
  2. ComboBox1.DisplayMember = "Nombre" 'campo que queres mostrar
  3. ComboBox1.ValueMember = "Id" 'campo que capturas

Ahora para llenar el segundo comobobox tienes que hacerlo en el evento correspondiente del combobox1 que creo que seria en el SelectedIndexChanged (no lo recuerdo muy bien)

Código vb:
Ver original
  1. Dim id As Integer = Convert.ToInt32(ComboBox1.SelectedValue)
  2. ComboBox1.DataSource = Filtro(id)
  3. ComboBox1.DisplayMember = "Nombre"
  4. ComboBox1.ValueMember = "Id"

Prueba algo asi y cuentas si te funciono ya que no he probado el código lo hice al momento asi que nose si tiene errores.

Otra cosa si los datos filtrados que quieres mostrar en el segundo combobox son de la misma tabla que los del comobox1 te ahorrarias el segundo método ya que podrías filtrar los datos usando linq .
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres

Última edición por cristiantorres; 17/07/2012 a las 13:12