Use ADO
Dim Flds As ADODB.Fields
Dim fld As ADODB.Field
Dim byteChunk() As Byte
Dim strNote As String
Dim Offset As Long
Dim Totalsize As Long
Dim Remainder As Long
Dim NumOfChuncks As Long
Dim CurrentRecPos As Long
Dim FieldSize As Long
Dim FileNumber As Integer
Const HeaderSize As Long = 78
Const ChunkSize As Long = 100
Const TempFile As String = "tempfile.tmp"
FileNumber = FreeFile
Open TempFile For Binary Access Write Lock Write As FileNumber
Totalsize = FieldSize - HeaderSize ' Substract it from the total size.
byteChunk() = fld.GetChunk(HeaderSize) ' Get rid of the header.
NumOfChuncks = Totalsize \ ChunkSize
Remainder = Totalsize Mod ChunkSize
If Remainder > 0 Then
byteChunk() = fld.GetChunk(Remainder)
Put FileNumber, , byteChunk()
End If
Offset = Remainder
Do While Offset < Totalsize
byteChunk() = fld.GetChunk(ChunkSize)
Put FileNumber, , byteChunk()
Offset = Offset + ChunkSize
Loop
Close (FileNumber)
Image1.Picture = LoadPicture(TempFile)
Kill (TempFile)
|