Данный вопрос выходит за рамки нашего форума, подобные вопросы стоит задавать на профильных форумах типа sql.ru.
Однако в дополнение к недавно опубликованному видео в качестве бонуса приведу пример кода по переносу картинок в таблице Клиенты
tblMain во всех записях, содержащих ссылки, из поля со ссылкой на файл
FileLink в поле типа "Картинка"
Field1Pic. Данный код следует адаптировать под свою БД, поместить в файл с расширением vbs, и запустить на выполнение, предварительно сделав резервную копию БД.
Код:
Dim sDbPath
Dim Con 'объект Connection для открытия БД
Dim sSql 'SQL инструкция
Dim stm ' ADODB.Stream
Dim bData ' Binary data
Dim RS 'объект Recordset (набор записей)
Dim fso 'объект FileSystemObject для файловых операций
Const adOpenKeyset = 1, adLockOptimistic = 3, adCmdText = 1
Set fso = CreateObject("Scripting.FileSystemObject") 'создание объекта FileSystemObject для файловых операций
'sDbPath = InputBox("Укажите путь к файлу .mdb", "Выбор файла", "DemoDatabase.mdb")
sDbPath = "D:\Мои документы\Учет клиентов\DemoDatabase.mdb"
Set stm = CreateObject("ADODB.Stream") 'создание объекта Stream
stm.Type = 1
stm.Open
Set Con = CreateObject("ADODB.Connection") 'создание объекта Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sDbPath & ";Persist Security Info=False" 'открываем соединение с базой данных
sSql = "SELECT FileLink, Field1Pic FROM tblMain WHERE FileLink <> ''"
Set RS = CreateObject("ADODB.Recordset") 'создание объекта Recordset
RS.Open sSql, Con, adOpenKeyset, adLockOptimistic, adCmdText 'открытие набора записей
If RS.EOF Then
MsgBox "Нет записей, удовлетворяющих критериям", vbInformation
Else
Do Until RS.EOF 'цикл по всем записям набора
If fso.FileExists(RS("FileLink")) Then
stm.LoadFromFile RS("FileLink")
bData = stm.Read
RS("Field1Pic") = bData
RS.Update
End If
RS.moveNext
Loop
End If
RS.Close
Con.Close 'закрываем открытую БД
stm.Close
Set fso = Nothing
Set Con = Nothing
Set stm = Nothing
Set RS = Nothing
Места адаптации кода под свою БД.
Путь к БД
Код:
sDbPath = "D:\Мои документы\Учет клиентов\DemoDatabase.mdb"
Запрос к БД на получение набора записей с полем со ссылкой на файл и поля-картинки
Код:
sSql = "SELECT FileLink, Field1Pic FROM tblMain WHERE FileLink <> ''"
Запись в БД
Код:
If fso.FileExists(RS("FileLink")) Then
stm.LoadFromFile RS("FileLink")
bData = stm.Read
RS("Field1Pic") = bData