¿Cómo enviar datos en listbox de excel a access?

Estoy incursionando en excel vba y access para gestionar mas eficientemente los datos. Mi duda es como puedo mandar los datos que tengo en un listbox de excel hacia una base de datos en access. Tengo un código que obtuve de la web y lo he estado adaptando, pero no logra funcionarme del todo, me gustaría saber como hacerlo cuando tengo menos de 10 columnas y cuando tengo mas de 10 columnas en el listbox.

Cualquier aportación me sería muy útil amigos, muchas gracias por su atención.

Código:

Dim var As Long
Private Sub CommandButton1_Click()
If Me.TextBox1.Text = "" Then MsgBox ("Ingrese Dato"): Exit Sub
If Me.TextBox1.Text = "" Then MsgBox ("Ingrese Dato2"): Exit Sub
Me.ListBox1.ColumnCount = 2
        Me.ListBox1.ColumnWidths = "50 pt;50 pt;20 pt;20 pt"
        var = ListBox1.ListCount
        Me.ListBox1.AddItem Me.TextBox1.Text '
        Me.ListBox1.list(var, 1) = Me.TextBox2.Text
        var = var + 1
TextBox1 = ""
TextBox2 = ""
End Sub
Sub Conexion()
    Set Cnn = New ADODB.Connection
With Cnn
    .Provider = "Microsoft.ACE.OLEDB.12.0"
    .ConnectionString = "Data Source=C:\Datos.accdb"
    .Open
End With
End Sub
Private Sub CommandButton2_Click()
Dim Can As Double
Set Rs = New ADODB.Recordset
Rs. Open "tbl", Cnn, adOpenKeyset, adLockOptimistic, adCmdTable ' Nombre de la tabla entre comillas
For I = 0 To ListBox1.ListCount - 1
With Rs
    .AddNew
    .Fields("ID") = ListBox1.list(I, 0)
    .Fields("Color") = ListBox1.list(I, 1)
    .Update
End With
Next I
Rs.Close
Set Rs = Nothing
End Sub
Private Sub UserForm_Initialize()
Conexion
End Sub

1 respuesta

Respuesta

Estos ejemplos te orientaran

http://www.programarexcel.com/2015/06/conectar-excel-con-access.html 

http://www.programarexcel.com/2015/09/pasar-datos-listbox-hoja-de-excel.html 

En el ejemplo se pasan a una hoja de Excel pero en vez de ello crea un SQL para enviar a Access y no a la hoja de Excel, para lograr esto te paso el primer ejemplo

Descargar ejemplos gratis en http://programarexcel.com

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas