Вопрос: Запись/считывание файлов в/из таблицы
Совет:
Я использую следующий код для считывания/записи файлов.
Краткое пояснение: tblFiles - таблица, имеющая два поля FileName (текстовое, хотя можно и MEMO) и FileContent - Поле объекта OLE.
В FileName вводится путь к требуемым файлам.
GetDataFromFile - считывание файлов в таблицу
PutDataInFile - запись содержимого полей OLE в файлы
Файлы получаются идентичными.
Public Sub GetDataFromFile()
Dim bData As String, rs As Recordset
Set rs = CurrentDb.OpenRecordset("tblFiles")
With rs
Do While Not .EOF
bData = String(FileLen(!filename), " ")
Open !filename For Binary Access Read As #1
Get #1, , bData
Close #1
.Edit
!FileContent.AppendChunk bData
.Update
.MoveNext
Loop
End With
rs.Close
Set rs = Nothing
End Sub
Public Sub PutDataInFile()
Dim bData As String, rs As Recordset
Dim lngOffset As Long, lngTotalSize As Long
Const conChunkSize = 32768
Set rs = CurrentDb.OpenRecordset("tblFiles")
With rs
Do While Not .EOF
bData = ""
lngOffset = 0
lngTotalSize = !FileContent.FieldSize
Do While lngOffset < lngTotalSize
bData = bData & !FileContent.GetChunk(lngOffset, conChunkSize)
lngOffset = lngOffset + conChunkSize
Loop
Open !filename For Binary Access Write As #1
Put #1, , bData
Close #1
.MoveNext
Loop
End With
rs.Close
Set rs = Nothing
End Sub
|