Field2.LoadFromFile method (DAO)
Applies to: Access 2013, Office 2013
Loads the specified file from disk.
Version information
Version added: Access 2007
Syntax
expression .LoadFromFile(FileName)
expression A variable that represents a Field2 object.
Parameters
Name |
Required/optional |
Data type |
Description |
---|---|---|---|
FileName |
Required |
String |
The fully qualified path of the file to that you want to load. |
Example
The following code snippet uses the LoadFromFile method to load an employee's picture from disk.
' Instantiate the parent recordset.
Set rsEmployees = db.OpenRecordset("Employees")
… Code to move to desired employee
' Activate edit mode.
rsEmployees.Edit
' Instantiate the child recordset.
Set rsPictures = rsEmployees.Fields("Pictures").Value
' Add a new attachment.
rsPictures.AddNew
rsPictures.Fields("FileData").LoadFromFile "EmpPhoto39392.jpg"
rsPictures.Update
' Update the parent record
rsEmployees.Update
The following example shows how to add files from a specified folder path to an attachment field.
Sample code provided by the Microsoft Access 2010 Programmer’s Reference.
Public Function LoadAttachments(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 strFile 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
'Load all attachments in the specified directory
strFile = Dir(strPath & "\*.*")
rst.Edit
Do While Len(strFile) > 0
'Add a new attachment that matches the pattern.
'Pass "" to match all files.
If strFile Like strPattern Then
rsA.AddNew
rsA("FileData").LoadFromFile strPath & "\" & strFile
rsA.Update
'Increment the number of files added
LoadAttachments = LoadAttachments + 1
End If
strFile = Dir
Loop
rsA.Close
rst.Update
'Next record
rst.MoveNext
Loop
rst.Close
dbs.Close
Set fld = Nothing
Set rsA = Nothing
Set rst = Nothing
Set dbs = Nothing
End Function