Autor Tema: Visual Basic cambiar datos de combobox según item elegido en otro combobox (dos)  (Leído 12185 veces)

Andy Rivera

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 10
    • Ver Perfil
Hola necesito su apoyo soy un programador en closet años sin hacerlo necesito mandar a llamar los datos de una tabla a un combobox desde visual studio lo primero que una tabla sea el listado del combobox1 y de ahi se haga una consulta y envie informacion a un segundo combo.... para mayor ejemplo cuando le das clic a un combo donde esten los estados del pais y en el siguiente combo aparezcan sus municipios!!! help.... pleaseee
« Última modificación: 30 de Mayo 2015, 21:12 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:Como agrego datos a un Combobox desde una tabla de access
« Respuesta #1 en: 30 de Mayo 2015, 21:10 »
Hola, lo que consultas implica que sepas cómo cargar datos en el combobox (sin ser desde access) y hacer que al cambiar un item elegido cambien los items en el siguiente combo. Una vez sepas hacer esto debes pasar a operar en conexión con la base de datos. Esto es demasiado amplio para explicarlo en conjunto. Nuestra filosofía es intentar ayudar a partir del código que se haya intentado crear. Si te hacen falta fundamentos de Visual Basic te recomiendo este material http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61 Si pegas el código creado indicando dónde tienes problemas o errores intentaremos ayudarte. También debes indicar con qué versión de Visual Basic estás trabajando.

Aquí pongo un código de ejemplo en Visual Basic 2010 para que los items de un combo se modifiquen en base a la elección en otro combo.

Código para clases Pais y Continente

Código: [Seleccionar]
Public Class PaisCls

    Private _PaisID As Integer
    Public Property PaisID() As Integer
        Get
            Return _PaisID
        End Get
        Set(ByVal value As Integer)
            _PaisID = value
        End Set
    End Property

    Private _PaisNombre As String
    Public Property PaisNombre() As String
        Get
            Return _PaisNombre
        End Get
        Set(ByVal value As String)
            _PaisNombre = value
        End Set
    End Property

    Private _ContinenteID As Integer
    Public Property ContinenteID() As Integer
        Get
            Return _ContinenteID
        End Get
        Set(ByVal value As Integer)
            _ContinenteID = value
        End Set
    End Property

End Class


Código: [Seleccionar]
Public Class ContinenteCls

    Private _ContinenteID As Integer
    Public Property ContinenteID() As Integer
        Get
            Return _ContinenteID
        End Get
        Set(ByVal value As Integer)
            _ContinenteID = value
        End Set
    End Property

    Private _ContinenteNombre As String
    Public Property ContinenteNombre() As String
        Get
            Return _ContinenteNombre
        End Get
        Set(ByVal value As String)
            _ContinenteNombre = value
        End Set
    End Property

End Class

Añadir dos ComboBox (cmbContinentee y cmbPais) a un formulario y el siguiente código al formulario:

Código: [Seleccionar]
Dim ContinenteList As New List(Of ContinenteCls)
Dim PaisList As New List(Of PaisCls)

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    'Inicialización de listas con algunos datos cualquiera
    For i = 1 To 3
        ContinenteList.Add(New ContinenteCls With {.ContinenteID = i, .ContinenteNombre = "Continente" + CStr(i)})
        For j = 1 To 5
            PaisList.Add(New PaisCls With {.ContinenteID = i, .PaisID = j, .PaisNombre = "Cont" + CStr(i) + " - Pais" + CStr(j)})
        Next
    Next

    'Rellenar el Combo Continente
    With cmbContinente
        .ValueMember = "ContinenteID"
        .DisplayMember = "ContinenteNombre"
        .DataSource = ContinenteList
    End With

End Sub

Private Sub cmbContinente_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbContinente.SelectedValueChanged
    Try
        'Hacer que se rellene el combo de pais según el contienente elegido
        With cmbPais
            .ValueMember = "PaisID"
            .DisplayMember = "PaisNombre"
            .DataSource = PaisList.Where(Function(f) f.ContinenteID = cmbContinente.SelectedValue).ToList
        End With
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

Andy Rivera

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 10
    • Ver Perfil
 ;) ok excelente así se envía información... estoy trabajando en visual studio .net 4.5
ahora si eres muy amable como puedo madar traer informacion de una tabla haciendo la consulta del primer combo...

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".