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