Hola expertos necesito exportar los resultados de una consulta sql a excel

Hola,

El problema es el siguiente: Necesito exportar los resultados que me arroja una consulta sql a excel, para lo que he intentado el siguiente método:

Function TransferToEcxel()
On Error GoTo Err_TransferToExcel
Dim db1 As Database
Dim qdf As QueryDef
Dim st1 As String, st2 As String
sq1 = "SELECT * FROM tbl_pedidos_rs" st1 = "Exportar_Pedidos"
st2 = wrut & "Pedidos.xls"
Set db1 = CurrentDb
Set qdf = db1.CreateQueryDef(st1, sq1)

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, st1, st2, True DoCmd.DeleteObject acQuery, st1 Exit_TransferToExcel:
Exit Function Err_TransferToExcel:
Debug.Print Err.Description Resume
Exit_TransferToExcel
End Function

Este funciona muy bien si la tabla esta ubicada en el mismo proyecto, el problema radica en que la tabla "tbl_pedidos_rs" no esta ubicada físicamente en la base cliente sino en una base servidor, también es .mdb, intente con una conexión a la base de datos servidor y crear un recordset hacer lo siguiente:

Function TransferToEcxel()

On Error GoTo Err_TransferToExcel

Dim cn1 As ADODB.Connection

Dim rs1 As ADODB.Recordset

Dim qdf As QueryDef

Dim st1 As String, st2 As String

Set cn1 = New ADODB.Connection

cn1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & wrut & "Data_adm.mdb;"

sq1 = "SELECT * FROM tbl_pedidos_rs"

Set rs1 = New ADODB.Recordset rs1.

Open sq1, cn1, adOpenKeyset, adLockOptimistic

st1 = "Exportar_Pedidos"

st2 = "Pedidos.xls"
Set qdf = cn1.CreateQueryDef(st1, rs1)
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, st1, st2, True DoCmd.DeleteObject acQuery, st1
Exit_TransferToExcel:

Exit Function

Err_TransferToExcel:

Debug.Print Err.Description

Resume Exit_TransferToExcel

End Function

Pero tampoco funciona, que puedo hacer ala respecto

Muchas gracias por su atención y de antemano por su colaboración

Cordialmente,

Andr3wC

Añade tu respuesta

Haz clic para o