ACC: Exportar campos alineado a la derecha en un archivo de texto (1.x/2.0)

Seleccione idioma Seleccione idioma
Id. de artículo: 148444 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Moderada: Requiere macro básico, codificación y las capacidades de interoperabilidad.
Expandir todo | Contraer todo

En esta página

Resumen

Este artículo demuestran dos métodos que puede utilizar para crear un archivo de texto de ancho fijo que habilita los campos que bien alineado a la izquierda o derecha.

En este artículo se asume que está familiarizado con Access Basic y con la creación de aplicaciones de Microsoft Access mediante las herramientas de programación suministradas con Microsoft Access. Para obtener más información acerca de Access Basic, consulte el manual "Introduction to Programming" de Microsoft Access versión 1.x o la "creación de aplicaciones"manual, capítulo 3,"Introducción A Access Basic" en la versión 2.0.

Más información

Método 1

Los pasos siguientes demuestran cómo utilizar una consulta y una macro para crear un archivo de texto de ancho fijo mediante la tabla Orders en la base de datos de ejemplo Neptuno.mdb. El campo de ID cliente estará alineada a la izquierda y los campos Fecha y cargo estará alineada a la derecha en el archivo de texto:
  1. Abra la base de datos de ejemplo Neptuno.mdb y cree la siguiente consulta nueva basada en la tabla Orders.

    Nota: En las expresiones de ejemplo siguiente, un subrayado (_) al final de una línea se utiliza como un carácter de continuación de línea. Quite el carácter de subrayado del final de la línea cuando escriba esta expresión.
          Query: Right Justify Orders
          ------------------------------------------------------------------
    
          Field: Customer ID
          Field: Expr1: Space(12-Len(Format([Order Date],"Short Date"))) & _
                        Format([Order Date],"Short Date")
    
          Field: Expr2: Space(15-Len(Format([Freight],"Currency"))) & _
                        Format([Freight],"Currency")
    
          NOTE: The Space() function is used to pad spaces at the beginning of
          the field. The numbers 12 and 15 at the start of the Space()
          function indicate the desired total width of that field in the text
          file. These numbers are used again in step 5 below.
    						
  2. Guarde la consulta como Right Justify pedidos y, a continuación, ejecutar la consulta.

    Observe que los campos pueden no aparecer ser alineado a la derecha, a menos que utilice una fuente de ancho fijo como Courier. Puede omitirse porque no afecta el archivo de texto.
  3. Cierre la consulta para volver a la ventana base de datos.
  4. En el menú Archivo, haga clic en Configurar Imp/exp.
  5. En la tabla información de campo de la especificación de importación o exportación cuadro de diálogo, escriba el nombre de campo, tipo de datos, inicio y ancho para cada campo como sigue:
          Field Name   Data Type  Start   Width
          ----------   ---------  -----   -----
          Customer ID   Text        1       10
          Expr1         Text        11      12
          Expr2         Text        23      15
    						
  6. Haga clic en el botón Guardar como y guarde la especificación como Especificación de pedidos . Haga clic en Aceptar para cerrar la importación o exportación cuadro de diálogo especificación.
  7. Cree una nueva macro como sigue:
          Macro Action
          ------------
          TransferText
    
          TransferText Actions
          --------------------
             Transfer Type: Export Fixed Width
             Specification Name: Orders Spec
             Table Name: Right Justify Orders
             File Name: C:\Orders.txt
             Has Field Names: No
    						

    Nota: Puede especificar el nombre de una consulta en el nombre de tabla argumento.
  8. Ejecute la macro.
  9. Abra el archivo C:\Orders.txt mediante el Bloc de notas. Tenga en cuenta que el ID de cliente campo está alineado a la izquierda y los campos FechaPedido y transporte están alineados a la derecha. Los nombres de campo no se incluirán en la primera fila del archivo de texto. Si establece el argumento "Tiene nombres de campo" de la macro en Sí, los nombres de campo se delimitarse en lugar de ancho fijo. Utilice el método 2 si desea incluir nombres de campo en la primera fila de un archivo de texto de ancho fijo.

Método 2

Los pasos siguientes demuestran cómo utilizar Access Basic para crear un archivo de texto de ancho fijo mediante la tabla Orders en la base de datos de ejemplo Neptuno.mdb. El campo ID cliente será alineado a la izquierda y los campos FechaPedido y transporte estarán alineados a la derecha.
  1. Abra la base de datos de ejemplo Neptuno.mdb.
  2. Cree un nuevo módulo.
  3. En la sección de declaraciones del módulo, agregue la línea siguiente:
          Option Explicit
    						
  4. Cree la siguiente función:
          Function CreateTextFile()
            'This function creates a fixed-width text file using the
            'Orders table in NWIND.MDB. The Customer ID field will
            'be left-aligned and the Order Date and Freight fields
            'will be right-aligned.
    
            'Create a Dim statement for each field to export to the text
            'file. For the data type of each field, use "String *" followed
            'by the width of the field.
            Dim strCustomerId As String * 10 'Specifies width of 10 characters.
            Dim strOrderDate As String * 12  'Specifies width of 12 characters.
            Dim strFreight As String * 15    'Specifies width of 15 characters.
    
            'Create a recordset based on the Orders table.
            Dim mydb As Database
            Dim mytable As Table
            Set mydb = CurrentDB()
            Set mytable = mydb.OpenTable("Orders")
    
            'Determine the index to sort the table by.
            mytable.Index = "PrimaryKey" 'A primary key must exist in the
                                         'Orders table.
    
            'Create the text file. Note the use of the RSet statement
            'to right-align a field. You can use the LSet statement if you
            'want to left-align a field (or simply assign the variable
            'without using RSet or LSet.)
    
            Dim intFile As Integer
            intFile = FreeFile
            Open "C:\Orders.txt" For Output As intFile
    
            'The following section is optional. It puts the field names in the
            'first row of the text file. Remove the comment mark (') from these
            'lines if you want to put field names in the first row of the text
            'file.
            'LSet strCustomerId = "CustomerID"
            'RSet strOrderDate = "OrderDate"
            'RSet strFreight = "Freight"
            'Print #intFile, strCustomerId & strOrderDate & strFreight
    
            'This section puts the records from the Orders table in the text
            'file.
            mytable.MoveFirst
            Do Until mytable.EOF
                LSet strCustomerId = mytable![Customer ID]
                RSet strOrderDate = Format(mytable![Order Date], "Short Date")
                RSet strFreight = Format(mytable![Freight], "Currency")
                'Concatenate all of the variables together as in the following:
                Print #intFile, strCustomerId & strOrderDate & strFreight
                'The following optional line can be used to create a blank row
                'after each record. Remove the comment mark (') from the
                'following line if you want to create a blank row after each
                'line.
                'Print #intFile,
                mytable.MoveNext
            Loop
    
            Close intFile
            mytable.Close
            mydb.Close
            MsgBox "Text file has been created!"
    
          End Function
    						
  5. Haga clic en ventana Inmediato en el menú Ver, escriba la línea siguiente y presione ENTRAR para ejecutar la función:

    ? CreateTextFile()
  6. Abra el archivo C:\Orders.txt mediante el Bloc de notas. Tenga en cuenta que el ID de cliente campo está alineado a la izquierda y los campos FechaPedido y transporte son justificado a la derecha.

Referencias

Para obtener un ejemplo de esta información en Microsoft Access para Windows 95 versión 7.0, consulte en contacto con el siguiente artículo en Microsoft Knowledge Base:

150401ACC95: Exportar campos alineado a la derecha en un archivo de texto

Para obtener más información acerca del uso Access Basic para crear archivos de texto, busque "Imprimir #," y, a continuación, "imprimir # Statement" mediante el menú Ayuda de Microsoft Access.

Para obtener más información acerca de alinear los campos en un archivo de texto de ancho fijo, consulte en contacto con el siguiente artículo en Microsoft Knowledge Base:

98663ACC: Exportar a la izquierda Alinea archivo de texto de ancho fijo números

Propiedades

Id. de artículo: 148444 - Última revisión: sábado, 01 de febrero de 2014 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft Access 1.0 Standard Edition
  • Microsoft Access 1.1 Standard Edition
  • Microsoft Access 2.0 Standard Edition
Palabras clave: 
kbnosurvey kbarchive kbmt kbhowto kbinterop kbprogramming KB148444 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 148444

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com