Dim Offset As Long
Dim Totalsize As Long
Dim Remainder As Long
Dim Chunks As Long
Const ChunkSize As Long = 9182
Public Sub FileToSQL(ImageFile As String, ByRef ImageFld As ADODB.Field)
Dim t() As Byte
Dim strSQL As String
Dim SourceFile As Long
SourceFile = FreeFile
Open ImageFile For Binary Access Read As SourceFile
Totalsize = FileLen(ImageFile)
Chunks = Totalsize \ ChunkSize
Remainder = Totalsize Mod ChunkSize
ReDim t(Remainder)
Get SourceFile, , t()
Offset = Remainder
ImageFld.AppendChunk t()
ReDim t(ChunkSize)
Do While Offset < Totalsize
Get SourceFile, , t()
Offset = Offset + ChunkSize
ImageFld.AppendChunk t()
Loop
Close SourceFile
End Sub
Public Sub SQLToFile(ImageFile As String, ByRef ImageFld As ADODB.Field)
Dim strSQL As String
Dim t() As Byte
Dim SourceFile As Long
' Remove any existing destination file
If Len(Dir$(ImageFile)) > 0 Then
Kill ImageFile
End If
SourceFile = FreeFile
Open ImageFile For Binary Access Write As SourceFile
Totalsize = ImageFld.ActualSize
Chunks = Totalsize \ ChunkSize
Remainder = Totalsize Mod ChunkSize
ReDim t(Remainder)
t() = ImageFld.GetChunk(Remainder)
Put SourceFile, , t()
Offset = Remainder
ReDim t(Chunks)
Do While Offset < Totalsize
t() = ImageFld.GetChunk(ChunkSize)
Offset = Offset + ChunkSize
Put SourceFile, , t()
Loop