Need to edge out the competition for your dream job? Train for certifications today.
Experts Exchange Solution brought to you by
"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.
Public Sub ExtractAttachment(TableName As String, FieldName As String, Optional Criteria As Variant = Null)
'Opens a recordset base on TableName, and extracts all attachments from field: FieldName
'If no criteria string is provided, loops through all records in the table and extracts all of the attachments
Dim rsMain As DAO.Recordset, rsAtt As DAO.Recordset
Dim strSQL As String
Dim strPath As String
On Error GoTo ProcError
strSQL = "SELECT * FROM [" & TableName & "]" & (" WHERE " + Criteria)
strSQL = Replace(Replace(strSQL, "[[", "["), "]]", "]")
Set rsMain = CurrentDb.OpenRecordset(strSQL, , dbFailOnError)
'Select the folder to extract the files to
strPath = CurrentProject.Path & "\"
'Loop through the records
Do While Not rsMain.EOF
Set rsAtt = rsMain.Fields(FieldName).Value
While Not rsAtt.EOF
If Not rsAtt Is Nothing Then
Set rsAtt = Nothing
If Not rsMain Is Nothing Then
Set rsMain = Nothing
If Err.Number = 3420 Then
ElseIf Err.Number = 3820 Then
MsgBox "Selected file already exists in this record!"
ElseIf Err.Number = 3839 Then
Debug.Print Err.Number, Err.Description, "LoadAttachment"
Open in new window
Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.
Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.
From novice to tech pro — start learning today.
Premium members can enroll in this course at no extra cost.
Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.
Have a better answer? Share it in a comment.
Please enter a first name
Please enter a last name
Must be at least 4 characters long.
Join and Comment