Метод DoCmd.TransferText (Access)

Метод TransferText выполняет действие TransferText в Visual Basic.

Синтаксис

выражение.TransferText (TransferType, SpecificationName, TableName, FileName, HasFieldNames, HTMLTableName, CodePage)

выражение: переменная, представляющая объект DoCmd.

Параметры

Имя Обязательный или необязательный Тип данных Описание
TransferType Необязательный AcTextTransferType Нужный тип преобразования. Вы можете импортировать данные из текстовых или HTML-файлов с разделителями или полями фиксированного размера, экспортировать их в такие файлы или создать ссылку на них. Значение по умолчанию — acImportDelim. В проекте Microsoft Access (ADP) поддерживаются только типы передаваемых данных acImportDelim, acImportFixed, acExportDelim, acExportFixed и acExportMerge.
SpecificationName Необязательный Variant Строковое выражение, которое является именем спецификации импорта или экспорта, созданной и сохраненной в текущей базе данных. Для текстового файла с полями фиксированного размера необходимо указать аргумент или использовать файл schema.ini, который должен находиться в той же папке, что и импортируемый, связываемый или экспортируемый текстовый файл.

Чтобы создать файл схемы, можно использовать мастер импорта и экспорта текста для создания файла. Для текстовых файлов с разделителями и файлов данных слияния Microsoft Word можно оставить этот аргумент пустым для выбора спецификаций по умолчанию для импорта и экспорта.
TableName Необязательный Variant Строковое выражение, являющееся именем таблицы Access для импорта, экспорта или связывания текстовых данных, либо запрос Access, результаты которого нужно экспортировать в текстовый файл.
FileName Необязательный Variant Строковое выражение, являющееся полным именем (включая путь) текстового файла для импорта, экспорта или связывания.
HasFieldNames Необязательный Variant Используйте значение True (1), чтобы использовать первую строку текстового файла в качестве имен полей при импорте, экспорте или связывании. Используйте значение False (0), чтобы считать первую строку текстового файла обычными данными. Если оставить этот аргумент пустым, предполагается, что используется значение по умолчанию (False). Этот аргумент игнорируется для файлов данных слияния Microsoft Word, которые всегда должны содержать имена полей в первой строке.
HTMLTableName Необязательный Variant Строковое выражение, являющееся именем таблицы (или списка) в HTML-файле, которую необходимо импортировать или связать. Этот аргумент игнорируется, если для аргумента TransferType не выбрано значение acImportHTML или acLinkHTML. Если данный аргумент не задан, импортируется или связывается первая таблица или список в HTML-файле.

Имя таблицы или списка в HTML-файле определяется по тексту, который указан тегом CAPTION, если такой тег существует. Если тега CAPTION нет, имя определяется по тексту с тегом TITLE. Если несколько таблиц или списков имеют одно и то же имя, Access различает их, добавляя число в конец каждого имени таблицы или списка (например, "Сотрудники1" и "Сотрудники2").
Идентификаторы CodePage Необязательный Variant Значение Long, указывающее кодировку кодовой страницы.

Примечания

Используйте метод TransferText для импорта или экспорта текста между текущей базой данных Access или проектом Access (ADP) и текстовым файлом. Вы также можете связать данные в текстовом файле с текущей базой данных Access. Это позволит просматривать текстовые файлы через Access, при этом не теряя возможность работы с ними в текстовом редакторе. Вы также можете выполнить импорт из таблицы или списка в HTML-файле, экспортировать данные в них или создать связь с ними.

Вы можете экспортировать данные запросов на выборку Access в текстовые файлы. Access экспортирует результирующий набор запроса так же, как таблицу.

Пример

В следующем примере данные из внешнего отчета из таблицы Access экспортируются в текстовый файл с разделителями April.doc с использованием стандартного вывода спецификации.

DoCmd.TransferText acExportDelim, "Standard Output", _ 
    "External Report", "C:\Txtfiles\April.doc"

В следующем примере коде показано, как создать новый документ Microsoft Word и выполнить слияние с данными, хранящимися в таблице Customers (Клиенты).

Public Sub DoMailMerge(strFileSavePath As String)

    ' Create new Word App, add a document and set it visible
    Dim wdApp As New Word.Application
    wdApp.Documents.Add
    wdApp.Visible = True

    ' Open the data set from this database
    wdApp.ActiveDocument.MailMerge.OpenDataSource _
        Name:=Application.CurrentProject.FullName, _
        OpenExclusive:=False, _
        LinkToSource:=True, _
        Connection:="TABLE Customers", _
        SQLStatement:="SELECT Customers.* FROM Customers;"
              
    ' Add fields to the mail merge document
    Dim oSel As Object
    Set oSel = wdApp.Selection
    With wdApp.ActiveDocument.MailMerge.Fields
    
        oSel.TypeText vbNewLine & vbNewLine
        .Add oSel.range, "First_Name"
        oSel.TypeText " "
        .Add oSel.range, "Last_Name"
        oSel.TypeText vbNewLine
        .Add oSel.range, "Company"
        oSel.TypeText vbNewLine
        .Add oSel.range, "Address"
        oSel.TypeText vbNewLine
        .Add oSel.range, "City"
        oSel.TypeText ", "
        .Add oSel.range, "State"
        oSel.TypeText " "
        .Add oSel.range, "Zip"
        oSel.TypeText vbNewLine
        oSel.TypeParagraph
        oSel.TypeText "Dear "
        .Add oSel.range, "First_Name"
        oSel.TypeText ","
        oSel.TypeText vbNewLine
        oSel.TypeParagraph
        oSel.TypeText "We have created this mail just for you..."
        oSel.TypeText vbNewLine
        oSel.TypeText vbNewLine
        oSel.TypeText "Sincerely," & vbNewLine & "John Q. Public"
        oSel.TypeText vbFormFeed
        
    End With
    
    ' Execute the mail merge and save the document
    wdApp.ActiveDocument.MailMerge.Execute
    wdApp.ActiveDocument.SaveAs strFileSavePath
        
    ' Close everything and Cleanup Variables
    Set oSel = Nothing
    wdApp.ActiveDocument.Close False
    Set wdApp = Nothing

End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.