Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: 01munrra en 12 Abril 2016, 05:34 am



Título: vb.net combobox con access[SOLUCIONADO]
Publicado por: 01munrra en 12 Abril 2016, 05:34 am
saludos!

que estoy haciendo mal:
Código
  1.        orden = "Select id, nombre from Enfermedades"
  2.        t_enfermedades.CommandText = orden
  3.        registro = t_enfermedades.ExecuteReader
  4.        If registro.HasRows = True Then
  5.            While registro.Read
  6.                ComboBox_enfermedades.Items.Add(registro.GetString(1))
  7.                ComboBox_enfermedades.ValueMember = registro.GetInt32(0)
  8.            End While
  9.        End If
  10.        registro.Close()
  11.  

lo que quiero es que me cargue el combobox con los registros de la base de datos, y quiero captar el ID del items seleccionado por el texbox
que estoy haciendo mal?


Título: Re: vb.net combobox con access
Publicado por: HdM en 12 Abril 2016, 13:37 pm
Aquí tienes un ejemplo. Es con mysql (en tu caso, oledb. Pero vamos, que es lo mismo). Sin bucle, no recorres la tabla registro a registro para cargar el combo.

https://www.webprogramacion.com/58/vbnet/rellenar-un-combobox.aspx (https://www.webprogramacion.com/58/vbnet/rellenar-un-combobox.aspx)

PD: que no te siente mal, pero creo que haces poco uso de google (u otros buscadores).


Título: Re: vb.net combobox con access[SOLUCION]
Publicado por: 01munrra en 13 Abril 2016, 04:51 am
saludos HdM!!!

si había investigado, tenia días dando con el asunto, me faltaba documentación para resolverlo y aquí esta la solución:

Código
  1.        Dim t_enfermedades As OleDbDataAdapter
  2.        Dim dt As DataTable
  3.  
  4.        Using con As New OleDbConnection(cadena)
  5.            orden = "Select id, nombre from Enfermedades"
  6.  
  7.            t_enfermedades = New OleDbDataAdapter(orden, bd)
  8.  
  9.            Try
  10.                dt = New DataTable
  11.  
  12.                'Llenamos el DataTable con la consulta
  13.                t_enfermedades.Fill(dt)
  14.  
  15.                'Cargamos el comboBox
  16.                ComboBox_enfermedades.ValueMember = "id"
  17.                ComboBox_enfermedades.DisplayMember = "nombre"
  18.                ComboBox_enfermedades.DataSource = dt
  19.            Catch ex As Exception
  20.                MessageBox.Show("Se produjo un error : " & ex.Message)
  21.            End Try
  22.  
  23.        End Using
  24.  

gracias!!!