Modificar registros de una Tabla de Access desde Excel

Quisiera saber si se puede actualizar los datos de una tabla de Access desde un libro de Excel el cual trae los datos desde una conexión externa.

La conexión me trae todos los datos sin embargo desea realizar una actualización desde ahí para no tener que abrir nuevamente la base de Access.

1 respuesta

Respuesta
1

Te dejo un código de ejemplo para trabajar en una base de datos desde Excel.

Sub CopiaDatos()
Dim fila As Long, uf As Long, conta As Long
Dim cn As ADODB.Connection, rs As ADODB.Recordset
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set a = ActiveSheet
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0; " & "data source=" & ThisWorkbook.Path & "\MiBase.accdb;"
rs.Open "Clientes", cn, adOpenKeyset, adLockOptimistic, adCmdTable
fila = 2
conta = 0
While a.Cells(fila, "A") <> Empty
With rs
 .AddNew
 .Fields("Id") = Cells(fila, "A")
 .Fields("Nombre") = Cells(fila, "B")
 .Fields("Telefono") = Cells(fila, "C")
 .Fields("Direccion") = Cells(fila, "D")
 .Fields("Mail") = Cells(fila, "E")
 .Fields("Credito") = Cells(fila, "F")
 .Update
End With
conta = conta + 1
fila = fila + 1
Wend
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
MsgBox ("Se procesaron " & conta & " registros con éxito, se omitieron duplicados"), vbInformation, "AVISO"
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Es muy importante qué en Excel habilites algunas referencias, como se muestra en la imagen.

Saudos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas