Метод Field2.SaveToFile (DAO)
Область применения: Access 2013, Office 2013
Сохраняет вложение на диске.
Сведения о версии
Добавлен в версии: Access 2007
Синтаксис
expression . SaveToFile(FileName)
expression — переменная, представляющая объект Field2.
Параметры
Имя |
Обязательный/необязательный |
Тип данных |
Описание |
---|---|---|---|
FileName |
Обязательный |
Строка |
Полный путь к файлу, в котором требуется сохранить вложение. |
Пример
В представленном ниже фрагменте кода показано, как использовать метод SaveToFile, чтобы сохранить все вложения для определенного сотрудника на диск.
' Instantiate the parent recordset.
Set rsEmployees = db.OpenRecordset("Employees")
… Code to move to desired employee
' Instantiate the child recordset.
Set rsPictures = rsEmployees.Fields("Pictures").Value
' Loop through the attachments.
While Not rsPictures.EOF
' Save current attachment to disk in the "My Documents" folder.
rsPictures.Fields("FileData").SaveToFile _
"C:\Documents and Settings\Username\My Documents"
rsPictures.MoveNext
Wend
В приведенном ниже примере показано, как сохранить файлы, хранящиеся в поле вложения, в папку с указанным путем.
Пример кода изсправочника программиста Microsoft Access 2010.
Public Function SaveAttachments(strPath As String, Optional strPattern As String = "*.*") As Long
Dim dbs As DAO.Database
Dim rst As DAO.Recordset2
Dim rsA As DAO.Recordset2
Dim fld As DAO.Field2
Dim strFullPath As String
'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
'Get the recordset for the Attachments field
Set rsA = fld.Value
'Save all attachments in the field
Do While Not rsA.EOF
If rsA("FileName") Like strPattern Then
strFullPath = strPath & "\" & rsA("FileName")
'Make sure the file does not exist and save
If Dir(strFullPath) = "" Then
rsA("FileData").SaveToFile strFullPath
End If
'Increment the number of files saved
SaveAttachments = SaveAttachments + 1
End If
'Next attachment
rsA.MoveNext
Loop
rsA.Close
'Next record
rst.MoveNext
Loop
rst.Close
dbs.Close
Set fld = Nothing
Set rsA = Nothing
Set rst = Nothing
Set dbs = Nothing
End Function