Access con Excel
Como esta, deseo preguntarle lo siguiente:
Resulta que tengo en un formulario con un texto y
un botón dentro de Access, deseo mostrar en Excel
la consulta de los datosa que tengo en Access según
el criterio que el usuario hubiera digitado en el
cuadro de texto dentro del formulario en Access,
el código que tengo es el siguiente pero solo me muestra
errores:
Sub ExportarAExcel(cadSQL As String, _
libro As String, _
hoja As String)
Dim appExcel As Object 'Excel.Application
Dim rst As Object 'DAO.Recordset
Dim fld As Object 'DAO.Field
Dim Fila As Integer
Dim columna As Integer
Dim strOffice As String
' abrimos excel, lo hacemos visible y abrimos el libro
' que nos interesa
strOffice = Texto1.Text
Set appExcel = CreateObject("Excel.Application")
appExcel.Visible = True
appExcel.Workbooks.Open FileName = "C:\Libro1.Xls"
' strOffice = Texto1.Text
ExportarAExcel "Select * From Encuestados WHERE Encuaestados.Codenc='" & strOffice & "';", _
"c:\libro1.xls", _
"hoja1"
' abrimos la tabla, consulta o cadena sql en un
' recordset
Set rst = CurrentDb.OpenRecordset(cadSQL)
' ponemos nombre a las columnas de la hojaigual que el
' nombre de los campos de la consulta
Fila = 1
columna = 1
With appExcel.Sheets(hoja)
.Select
For Each fld In rst.Fields
.Cells(Fila, columna) = fld.Name
columna = columna + 1
Next
' después traspasamos el valor de los campos a las
' celdas de la hoja de excel
Fila = 2
columna = 1
While Not rst.EOF
For Each fld In rst.Fields
.Cells(Fila, columna) = fld.Value
columna = columna + 1
Next
columna = 1
Fila = Fila + 1
rst.MoveNext
Wend
.Name = cadSQL
End With
rst.Close
' activa estas dos lineas si quieres cerrar
' y guardar los cambios automáticamente
'appExcel.ActiveWorkbook.Close True
'appExcel.Quit
Set appExcel = Nothing
End Sub
Si vez que ahí otra solución me gustaría que me la dieras a entender
Resulta que tengo en un formulario con un texto y
un botón dentro de Access, deseo mostrar en Excel
la consulta de los datosa que tengo en Access según
el criterio que el usuario hubiera digitado en el
cuadro de texto dentro del formulario en Access,
el código que tengo es el siguiente pero solo me muestra
errores:
Sub ExportarAExcel(cadSQL As String, _
libro As String, _
hoja As String)
Dim appExcel As Object 'Excel.Application
Dim rst As Object 'DAO.Recordset
Dim fld As Object 'DAO.Field
Dim Fila As Integer
Dim columna As Integer
Dim strOffice As String
' abrimos excel, lo hacemos visible y abrimos el libro
' que nos interesa
strOffice = Texto1.Text
Set appExcel = CreateObject("Excel.Application")
appExcel.Visible = True
appExcel.Workbooks.Open FileName = "C:\Libro1.Xls"
' strOffice = Texto1.Text
ExportarAExcel "Select * From Encuestados WHERE Encuaestados.Codenc='" & strOffice & "';", _
"c:\libro1.xls", _
"hoja1"
' abrimos la tabla, consulta o cadena sql en un
' recordset
Set rst = CurrentDb.OpenRecordset(cadSQL)
' ponemos nombre a las columnas de la hojaigual que el
' nombre de los campos de la consulta
Fila = 1
columna = 1
With appExcel.Sheets(hoja)
.Select
For Each fld In rst.Fields
.Cells(Fila, columna) = fld.Name
columna = columna + 1
Next
' después traspasamos el valor de los campos a las
' celdas de la hoja de excel
Fila = 2
columna = 1
While Not rst.EOF
For Each fld In rst.Fields
.Cells(Fila, columna) = fld.Value
columna = columna + 1
Next
columna = 1
Fila = Fila + 1
rst.MoveNext
Wend
.Name = cadSQL
End With
rst.Close
' activa estas dos lineas si quieres cerrar
' y guardar los cambios automáticamente
'appExcel.ActiveWorkbook.Close True
'appExcel.Quit
Set appExcel = Nothing
End Sub
Si vez que ahí otra solución me gustaría que me la dieras a entender
1 Respuesta
Respuesta de helpcenter08
1