У меня есть база данных деталей, и мы использовали функцию вложения Access 2010 для присоединения PDF-файлов к каждому номеру детали. У меня есть какой-то рабочий код, который сделал то, что я искал, чтобы запросить данный список частей и сохранить только прикрепленные файлы PDF в папку. Теперь я изменил столбец [PDF] на столбец гиперссылки, потому что я был обеспокоен тем, что в конечном итоге превысил лимит 3 ГБ.Сохранение гиперссылок в папку vba
Есть ли способ, которым я могу изменить этот код для работы с полем гиперссылки вместо поля типа вложения?
Конечной целью здесь является создание компакт-диска со всеми документами части (PDF) для наших клиентов.
Private Sub Command32_Click()
'this creates a folder for me
If Dir([filePath] & [newFolder], vbDirectory) = "" Then
MkDir [filePath] & [newFolder]
Else
MsgBox ("Folder:" & " " & [newFolder] & " " & "already Exists")
Exit Sub
End If
'code to loop through present list and save attached files to the new folder
Dim db As DAO.Database
Dim rsParent As DAO.Recordset2
Dim rsChild As DAO.Recordset2
Set db = CurrentDb
Set rsParent = Me.Recordset
With rsParent
.MoveFirst 'This ensures that regardless of your current record, the loop will start with the first record
Do While Not .EOF
Set rsChild = rsParent.Fields("pdf").Value
With rsChild
Do While Not .EOF
If rsChild.RecordCount <> 0 Then
rsChild.OpenRecordset
rsChild.Fields("FileData").SaveToFile ([filePath] & [newFolder])
Me.Refresh
.MoveNext
Else
.MoveNext
End If
Loop
End With
.MoveNext
Loop
End With
Exit_SaveImage:
Exit Sub
' error stuff
Err_SaveImage:
If Err = 3839 Then
MsgBox ("All Done")
Resume Next
Else
MsgBox "There's been an error!", Err.Number, Err.DESCRIPTION
Resume Exit_SaveImage
End If
End Sub
я попробовать то, что вы предложили. я заменил строку вышеприведенного кода и указал, что поле, содержащее гиперссылку, теперь называется doc_attachment и устанавливается как столбец гиперссылки в таблице подчёркивания. теперь, когда я запускаю код, я получаю сообщение об ошибке «Set rsChild = rsParent.Field (« Doc_Attachment »). Значение« объект »поддерживает это свойство или метод – wes
1) Вы говорите, что ваше поле« doc_attachment »содержит вашу гиперссылку. Пожалуйста, прочитайте мое предыдущее примечание. 2) Вы не можете определить набор записей (rsChild) как гиперссылку! Pls отредактируйте свой вопрос с помощью определения таблицы. – Cisco