Доступ к VBA, как читать текстовый файл из поля вложения - PullRequest
0 голосов
/ 11 апреля 2019

Я написал функцию R, которая слишком длинна, чтобы ее можно было сохранить даже в поле memo. Вероятно, есть способ прочитать его, если я храню его в текстовом файле где-то на моем жестком диске. Но могу ли я сохранить этот текстовый файл в поле вложения и прочитать его с кодом VB? Пока что ближайший ответ, который я получил, - напечатать названия вложения, но не то, что во вложении.

Dim dbs As DAO.Database
Dim rst As DAO.Recordset2
Dim rsA As DAO.Recordset2
Dim fld As DAO.Field2

'Get the database, recordset, and attachment field
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("tblAttachments")
Set fld = rst("Attachments")

'Navigate through the table
Do While Not rst.EOF

'Print the first and last name
Debug.Print rst("FirstName") & " " & rst("LastName")

'Get the recordset for the Attachments field
Set rsA = fld.Value

'Print all attachments in the field
Do While Not rsA.EOF

    Debug.Print , rsA("FileType"), rsA("FileName")

    'Next attachment
    rsA.MoveNext
Loop

'Next record
rst.MoveNext
Loop

1 Ответ

0 голосов
/ 12 апреля 2019

Я никогда не храню файлы в полях вложений.Вместо этого я сохраню абсолютный путь к файлу в таблице и затем использую VBA для отображения или изменения файла.

Вы можете использовать следующий код для печати содержимого текстового файла на консоли.ПРИМЕЧАНИЕ. Вам нужно будет добавить в свой проект ссылку на среду выполнения сценариев Microsoft.

    Dim fso As FileSystemObject
    Dim ts As TextStream
    Set fso = CreateObject("Scripting.FileSystemObject")
    ' use path stored in table vvv here
    Set ts = fso.OpenTextFile(path, ForReading, False, 0)

    Do While ts.AtEndOfStream <> True
        debug.print ts.ReadLine
    Loop

    ts.Close
...