Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2008, 09:56
komodo
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 18 años, 3 meses
Puntos: 3
Llenar combobox con el nombre de los campos de una base de datos

Hola! Estoy ante un problema que por mucho que intento no consigo solucionar. Estoy realizando una conexión a una base de datos access de la siguente manera:

Código:
Public Class Form2
    Inherits System.Windows.Forms.Form
    Private dt As DataTable
    Private da As OdbcDataAdapter
    Private fila As Integer

    Private Sub b_conectar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_conectar.Click
        Dim scnn As String
        Dim config As config
        If Me.cb_bbdd.Text = "MySQL" Then
        scnn = "DATABASE=" & config.tb_nom_mysql.Text & ";DSN=Mysql-vb;OPTION=0;PORT=0;SERVER=" & config.tb_servidor_mysql.Text & ";UID=root"
        Else
            scnn = "DSN=Access-vb;DBQ=" & Application.StartupPath & "\bbdd\base_visual.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;"
            'scnn = "DSN=Access-vb;DBQ=" & config.tb_ruta_access.Text & ";DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;"
        End If
        ' La cadena de selección
        Dim sSel As String = "SELECT * FROM clients ORDER BY ID"

        Try
            ' Crear un nuevo objeto del tipo DataAdapter
            da = New OdbcDataAdapter(sSel, scnn)
            Dim cb As New OdbcCommandBuilder(da)
            ' Asignar los comandos al DataAdapter
            ' (se supone que lo hace automáticamente, pero...)
            da.UpdateCommand = cb.GetUpdateCommand
            da.InsertCommand = cb.GetInsertCommand
            da.DeleteCommand = cb.GetDeleteCommand
            ' Esta base de datos usa el ID con valores automáticos
            da.MissingSchemaAction = MissingSchemaAction.AddWithKey
            '
            dt = New DataTable
            ' Llenar la tabla con los datos indicados
            da.Fill(dt)

            DataGrid1.ColumnHeadersVisible = True
            DataGrid1.DataSource = dt
            
        Catch ex As Exception
            MessageBox.Show("ERROR al connectar o recuperar les dades:" & vbCrLf & _
                            ex.Message, "Connectar amb la BBDD", _
                            MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub 
Esto funciona correctamente, al apretar el boton de conectar me muestra la tabla de la base de datos en un datagrid.
Lo que no consigo realizar es que me llene un combobox con el nombre de los campos de esa tabla, lo quiero realizar para poder hacer un buscador de pàlabras seleccionando el campo.

Un saludo y grácias de antemano