Intercambiar datos entre Excel y Access 2010 (ADO) con macros VBA

Amigos me podrían ayudar a mejorar este código, quiero traer los datos a una hoja en especifica, por ejemplo a la hoja2 y no en estos códigos CursorLocation = adUseClient
.CursorType = adOpenStatic .LockType = adLockOptimistic :

Sub escribirexcel()
Dim cs As String
Dim sPath As String
Dim sql As String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
sPath = ThisWorkbook.Path & "\datos.accdb"
cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & sPath & ";Persist Security Info=False;"
Set cn = New ADODB.Connection
cn.Open cs
Set rs = New ADODB.Recordset
With rs
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
End With
sql = "select * from tabla1"
rs.Open sql, cn
Range("C1").CopyFromRecordset rs
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
End Sub

1 respuesta

Respuesta
1

Una pregunta...¿La macro tiene que estar en Excel?

Lo digo porque es relativamente fácil crear una macro en access que genere una hoja de cálculo Excel sin tanto problema.

La idea sería entrar en el access, ejecutar la macro que exporta los datos a Excel e incluso desde el Access puede abrir esa misma hoa de Excel.

Echale un vistazo a las macros de Access y verás que resulta más fácil que hacerlo en Excel.

Hola gracias por responder, la macro si tiene que estar en excel ya que del mismo se ejecutan otras macros que necesito.

Aqui te dejo unas instrucciones muy buenas que he encontrado donde te explica paso a paso cómo hacer la macro que deseas.

Pon especial cuidado en el punto de "Referencias", ya que si no tienes esas bibliotecas activas, no te va a funcionar.

->Pincha aquí para ver la web con las explicaciones<-

Gracias amigo precisamente encontré ese código y me dio muy buenos resultados, el tutorial sirve de muy buen ejemplo para el que lo este necesitando.

Nuevamente gracias por preocuparte en darme una respuesta desinteresada aportando mucho valor a los conocimientos de los demás.

Saludos.

Alvedys Mata

Venezuela

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas