Access - Exportar a Excel controlando campos

 
Vista:

Exportar a Excel controlando campos

Publicado por Dani (1 intervención) el 29/01/2007 15:28:24
Hola,

Necesito saber si es posible exportar los datos de un formulario, cuyos datos provienen de una consulta, a Excel de modo que pueda seleccionar el orden en el que aparecen los datos en la hoja Excel. No me vale modificar las columnas de la hoja Excel después de realizar la exportación.

Muchas gracias.

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Exportar datos de formulario a Excel con orden personalizado

Publicado por Alejandro (4142 intervenciones) el 02/08/2023 00:23:37
Sí, Dany, es posible exportar los datos de un formulario en Access a Excel y seleccionar el orden en el que aparecen los datos en la hoja Excel. Para lograrlo, puedes seguir estos pasos:

1. Crear una consulta con el orden deseado:
- Antes de exportar los datos, asegúrate de crear una consulta en Access que contenga los campos que deseas exportar y que estén ordenados de acuerdo con el orden deseado en Excel.

2. Crear el botón de exportación:
- En el formulario, crea un botón de comando que se encargue de iniciar el proceso de exportación.

3. Escribir el código VBA para la exportación:
- En el evento "Al hacer clic" del botón de exportación, escribe el código VBA para realizar la exportación de los datos al archivo de Excel.
- Puedes utilizar el objeto Excel.Application para controlar Excel desde Access y copiar los datos del formulario a la hoja de Excel en el orden deseado.

A continuación, te muestro un ejemplo de código VBA para realizar la exportación:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Private Sub btnExportar_Click()
    On Error Resume Next
    Dim xlApp As Object
    Dim xlWB As Object
    Dim xlSheet As Object
    Dim rs As Recordset
    Dim strSQL As String
    Dim i As Integer
 
    ' Ruta del archivo Excel
    Dim strArchivo As String
    strArchivo = "C:\Ruta\archivo.xlsx" ' Cambiar la ruta y el nombre del archivo según necesites
 
    ' Crea una instancia de Excel
    Set xlApp = CreateObject("Excel.Application")
    xlApp.Visible = True
 
    ' Crea un nuevo libro en Excel
    Set xlWB = xlApp.Workbooks.Add
    Set xlSheet = xlWB.Worksheets(1)
 
    ' Establece la consulta con el orden deseado
    strSQL = "SELECT Campo1, Campo2, Campo3 FROM NombreTabla ORDER BY Campo1, Campo2" ' Cambiar los nombres de campos y tabla según necesites
 
    ' Abre la consulta como un recordset
    Set rs = CurrentDb.OpenRecordset(strSQL)
 
    ' Copia los datos del recordset a Excel
    i = 1
    Do While Not rs.EOF
        xlSheet.Cells(i, 1).Value = rs("Campo1")
        xlSheet.Cells(i, 2).Value = rs("Campo2")
        xlSheet.Cells(i, 3).Value = rs("Campo3")
        i = i + 1
        rs.MoveNext
    Loop
 
    ' Cierra el recordset
    rs.Close
 
    ' Guarda el libro de Excel
    xlWB.SaveAs strArchivo
 
    ' Cierra Excel y libera los objetos
    xlWB.Close
    xlApp.Quit
    Set xlSheet = Nothing
    Set xlWB = Nothing
    Set xlApp = Nothing
 
    MsgBox "Exportación completada.", vbInformation
End Sub

Recuerda modificar las rutas de archivo, nombres de campos y tablas según tu base de datos.

Con este código, al hacer clic en el botón de exportación en el formulario, se abrirá un nuevo libro de Excel con los datos de la consulta ordenados de acuerdo con el orden que hayas establecido en la consulta.

Espero que esta solución te sea útil para exportar los datos de un formulario en Access a Excel con el orden deseado. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar