Error de Compilación Sub o Function
Recurro a ti para ver si puedes apoyarme, el problema es el siguiente, debo de aclarar que estoy aprendiendo a hacer códigos sé un poco de excel y de access, el presente código lo copie de todoexpertos y le hice algunas adecuaciones, pero no he podido hacer que se ejecute.
La rutina que debe de hacer es la de exportar datos de access a excel
Al momento de querer ejecutar un código para exportar datos de access a excel (datos específicos) me sale el siguiente error, Error de compilación: No se ha definido Sub o Function.
Transcribo parte del código:
Private Sub cmdIMPORTAR()
Dim rst AS DAO.Recordset
DimstrSQL As String
Dim strLibro As String
Dim xls As Object 'Excel.Application
' instancia de Excel
On Error GoTo cmdIMPORTAR _Tratamientos de Errores
Set xls = CreateObject("Excel.Application")
' abrir el libro ExportaraExcel
strLibro = CurrentProject.Path & "\TabAmort.xls.xls"
' visible o no
xls.Visible = False ' o false
' activo la Hoja 4 la hoja 4 se llama "TabAmort"
xls.Worksheets("TabAmort").Activate
' construyo la primera cadena de la SELECT
strSQL = "SELECT No de Control, Crédito No, Plazo "_
& "FROM 4 Formulario Resumen de Ministración Mensual ORDER BY No de Control"
' abro el recordset
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
' si el recordset no está vacio
If Not RecordsetVacioDAO(rst) Then (aquí marca el error de Compilación)
' borro el contenido
xls.ActiveSheet.Range("A1").Select
xls.Selection.CurrentRegion.Select
xls.Selection.Clear
'escribo el nombre de los campos empezando en A1
xls.ActiveSheet.Range("A1").Select
For Each Campo In rst.Fields
xls.ActiveSheet.Cells(3, 1) = Campo.No_de_Control
xls.ActiveSheet.Cells(3, 2) = Campo.Crédito_No
xls.ActiveSheet.Cells(3, 3) = Campo.Plazo
En total son 7 cadenas que construí, los datos a exportar son de access para una tabla de amortización de excel y lo deseo que cuando se exporte los datos la tabla automáticamente realice los cálculos, me han salido varios error como "la instrucción no es válida fuera del bloque Type", "No se ha definido el tipo definido por el usuario" dándose en Private Sub cmdIPORTAR()
Dim rst As DAO.Recordset
strSQL As String
Para lo cual añadí el termino Dim, y en referencias tilde Microsoft DAO 3.6 Object Library
pero como te digo sigue presentando error en su ejecución, si deseas que te envíe completo el código, me informas para hacerlo. Gracias.
Pd el sistema de mi maquina es:
Microsoft Window Xp
Profesional Versión 2002
La rutina que debe de hacer es la de exportar datos de access a excel
Al momento de querer ejecutar un código para exportar datos de access a excel (datos específicos) me sale el siguiente error, Error de compilación: No se ha definido Sub o Function.
Transcribo parte del código:
Private Sub cmdIMPORTAR()
Dim rst AS DAO.Recordset
DimstrSQL As String
Dim strLibro As String
Dim xls As Object 'Excel.Application
' instancia de Excel
On Error GoTo cmdIMPORTAR _Tratamientos de Errores
Set xls = CreateObject("Excel.Application")
' abrir el libro ExportaraExcel
strLibro = CurrentProject.Path & "\TabAmort.xls.xls"
' visible o no
xls.Visible = False ' o false
' activo la Hoja 4 la hoja 4 se llama "TabAmort"
xls.Worksheets("TabAmort").Activate
' construyo la primera cadena de la SELECT
strSQL = "SELECT No de Control, Crédito No, Plazo "_
& "FROM 4 Formulario Resumen de Ministración Mensual ORDER BY No de Control"
' abro el recordset
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
' si el recordset no está vacio
If Not RecordsetVacioDAO(rst) Then (aquí marca el error de Compilación)
' borro el contenido
xls.ActiveSheet.Range("A1").Select
xls.Selection.CurrentRegion.Select
xls.Selection.Clear
'escribo el nombre de los campos empezando en A1
xls.ActiveSheet.Range("A1").Select
For Each Campo In rst.Fields
xls.ActiveSheet.Cells(3, 1) = Campo.No_de_Control
xls.ActiveSheet.Cells(3, 2) = Campo.Crédito_No
xls.ActiveSheet.Cells(3, 3) = Campo.Plazo
En total son 7 cadenas que construí, los datos a exportar son de access para una tabla de amortización de excel y lo deseo que cuando se exporte los datos la tabla automáticamente realice los cálculos, me han salido varios error como "la instrucción no es válida fuera del bloque Type", "No se ha definido el tipo definido por el usuario" dándose en Private Sub cmdIPORTAR()
Dim rst As DAO.Recordset
strSQL As String
Para lo cual añadí el termino Dim, y en referencias tilde Microsoft DAO 3.6 Object Library
pero como te digo sigue presentando error en su ejecución, si deseas que te envíe completo el código, me informas para hacerlo. Gracias.
Pd el sistema de mi maquina es:
Microsoft Window Xp
Profesional Versión 2002
1 respuesta
Respuesta de Juan Carlos González Chavarría
1