Agregar campo que enumere los registro de una consulta

Necesito enumera los registro de una consulta ya se que hay un id por registro pero no necesito ese número, quiero que haga una nueva numeración al generar la consulta espero me puedan ayudar y aprovechando como puedo hacer que esa consulta al exportarla a excel en el encabezado de un campo me escriba esto No. Línea* que es el campo que les mencione que quiero enumerar en la consulta solo me deja No Línea me quita el punto y asterisco y necesito que access me escriba ese encabezado exactamente asi No. Línea*

1 respuesta

Respuesta

A continuación te presento un código VBA completo que:

Crea una tabla temporal con un campo autonumérico.

Inserta los datos de tu consulta original.

Exporta esa tabla a Excel.

Cambia el encabezado de la columna autonumérica a No. Línea* directamente en Excel.

Supuestos:

Tu consulta original se llama: ConsultaOriginal

La tabla temporal se llamará: tblTemporalExportacion

El archivo Excel se guardará en: C:\Exportaciones\Exportado.xlsx si quiere cambie la ruta.

Sub ExportarConsultaConNumeracionYEncabezado()
    Dim db As DAO.Database
    Dim qdf As DAO.QueryDef
    Dim strSQL As String
    Dim rutaExcel As String
    Dim xlApp As Object
    Dim xlWB As Object
    Dim xlWS As Object
    Set db = CurrentDb
    rutaExcel = "C:\Exportaciones\Exportado.xlsx"
    ' 1. Eliminar tabla temporal si ya existe
    On Error Resume Next
    db.Execute "DROP TABLE tblTemporalExportacion;", dbFailOnError
    On Error GoTo 0
    ' 2. Crear tabla temporal con campo autonumérico
    db.Execute "CREATE TABLE tblTemporalExportacion (" & _
               "ID_Linea AUTOINCREMENT, " & _
               "Campo1 TEXT, " & _
               "Campo2 TEXT" & _
               ");", dbFailOnError
    '  Modifica los tipos de datos y campos según tu consulta
    ' 3. Insertar datos de la consulta original
 db.Execute "INSERT INTO tblTemporalExportacion (Campo1, Campo2) " & _
               "SELECT Campo1, Campo2 FROM ConsultaOriginal;", dbFailOnError
    ' 4. Exportar tabla a Excel
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, _
                              "tblTemporalExportacion", rutaExcel, True
    ' 5. Renombrar encabezado en Excel
    Set xlApp = CreateObject("Excel.Application")
    xlApp.Visible = False
    Set xlWB = xlApp.Workbooks.Open(rutaExcel)
    Set xlWS = xlWB.Sheets(1)
    xlWS.Cells(1, 1).Value = "No. Línea*"  ' Renombra encabezado de la columna autonumérica
    ' 6. Guardar y cerrar Excel
    XlWB. Save
    XlWB. Close
    XlApp. Quit
    ' 7. Limpiar
    Set xlWS = Nothing
    Set xlWB = Nothing
    Set xlApp = Nothing
    Set db = Nothing
    MsgBox "Exportación completada correctamente.", vbInformation
End Sub

Qué debes hacer:

Abre el editor de VBA en Access (Alt + F11)

Inserta un nuevo módulo.

Pega el código anterior.

Ajusta los campos Campo1, Campo2, y la ruta del archivo si lo necesitas.

Ejecuta el procedimiento.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas