
Exportar 2 tablas en dos hojas de Excel con ADO
Publicado por Percy (38 intervenciones) el 19/07/2013 08:27:56
Buenos días, por favor, necesito otra vez de su ayuda
Lo que estoy tratado de hacer es exportar dos tablas (clientes y proveedores).
Tengo el siguiente código; pero solo me exporta la tabla clientes mas no sé cómo hacer para que también me exporte la tabla proveedores en el mismo código, además necesito también los nombres de los campos de tabla y este código no lo exporta.
Private Sub cmdExportar1_Click()
Dim rst As DAO.Recordset, _
strSQL As String, _
strLibro As String, _
xls As Object ' Excel.Application
' abro una instancia de Excel
On Error GoTo cmdExportar1_Click_TratamientoErrores
Set xls = CreateObject("Excel.Application")
' con ella abro el libro ExportaraExcel
strLibro = CurrentProject.Path & "\ExportaraExcel.xls"
xls.Workbooks.Open (strLibro)
' lo hago visible o no
xls.Visible = True ' o false
' activo la Hoja 1
xls.Worksheets("Hoja1").Activate
' construyo la cadena de la SELECT
strSQL = "SELECT *" _
& "FROM Clientes "
' abro el recordset
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
' si el recordset no está vacio
If Not RecordsetVacioDAO(rst) Then
' me posiciono en la celda en que depositaré los datos
xls.ActiveSheet.Range("A1").Select
' pego los datos (el recordset completo)
xls.ActiveCell.CopyFromRecordset rst
End If
' guardo los datos
xls.ActiveWorkbook.Save
' cierro excel
xls.Application.Quit
Set xls = Nothing
' cierro el recordset
CierraRecordsetDAO rst
cmdExportar1_Click_Salir:
On Error GoTo 0
Exit Sub
cmdExportar1_Click_TratamientoErrores:
MsgBox "Error " & Err.Number & " en proc. cmdExportar1_Click de Documento VBA Form_frmExportaraExcel (" & Err.Description & ")", vbOKOnly + vbCritical
GoTo cmdExportar1_Click_Salir
End Sub ' cmdExportar1_Click
Vi en una página que para agregar los nombres de campos utilizaban este código.
'copiar rótulos
lngCampos = recSet.Fields.Count
For i = 0 To lngCampos - 1
ActiveSheet.Cells(1, i + 1).Value = recSet.Fields(i).Name
Next
Gracias por su atencion
Lo que estoy tratado de hacer es exportar dos tablas (clientes y proveedores).
Tengo el siguiente código; pero solo me exporta la tabla clientes mas no sé cómo hacer para que también me exporte la tabla proveedores en el mismo código, además necesito también los nombres de los campos de tabla y este código no lo exporta.
Private Sub cmdExportar1_Click()
Dim rst As DAO.Recordset, _
strSQL As String, _
strLibro As String, _
xls As Object ' Excel.Application
' abro una instancia de Excel
On Error GoTo cmdExportar1_Click_TratamientoErrores
Set xls = CreateObject("Excel.Application")
' con ella abro el libro ExportaraExcel
strLibro = CurrentProject.Path & "\ExportaraExcel.xls"
xls.Workbooks.Open (strLibro)
' lo hago visible o no
xls.Visible = True ' o false
' activo la Hoja 1
xls.Worksheets("Hoja1").Activate
' construyo la cadena de la SELECT
strSQL = "SELECT *" _
& "FROM Clientes "
' abro el recordset
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
' si el recordset no está vacio
If Not RecordsetVacioDAO(rst) Then
' me posiciono en la celda en que depositaré los datos
xls.ActiveSheet.Range("A1").Select
' pego los datos (el recordset completo)
xls.ActiveCell.CopyFromRecordset rst
End If
' guardo los datos
xls.ActiveWorkbook.Save
' cierro excel
xls.Application.Quit
Set xls = Nothing
' cierro el recordset
CierraRecordsetDAO rst
cmdExportar1_Click_Salir:
On Error GoTo 0
Exit Sub
cmdExportar1_Click_TratamientoErrores:
MsgBox "Error " & Err.Number & " en proc. cmdExportar1_Click de Documento VBA Form_frmExportaraExcel (" & Err.Description & ")", vbOKOnly + vbCritical
GoTo cmdExportar1_Click_Salir
End Sub ' cmdExportar1_Click
Vi en una página que para agregar los nombres de campos utilizaban este código.
'copiar rótulos
lngCampos = recSet.Fields.Count
For i = 0 To lngCampos - 1
ActiveSheet.Cells(1, i + 1).Value = recSet.Fields(i).Name
Next
Gracias por su atencion
Valora esta pregunta


0