EXPORTAR IMAGEM NUM BANCO ACCESS PARA ARQUIVO JPG
Olá, pessoal, Gostaria de saber se alguem ja tentou fazer o processo inverso, ou seja, uma imagem que esta gravada dentro do banco de dados ser exportada na forma de arquivo novamente (.jpg)
Tem como?
Tem como?
A função CopyFileToField coloca no seu campo a imagem escolhida e
a funcao CopyFieldToFile, coloca a imagem que esta gravada no banco
para uma image ou picture.
Function CopyFileToField()
Dim ChunkSize As Long
Dim FileNum As Integer
Dim Buffer() As Byte
Dim BytesNeeded As Long
Dim Buffers As Long
Dim Remainder As Long
Dim FileName As String
FileName = App.Path & [Ô]\FotoTemp.jpg[Ô]
Dim i As Long
If Len(FileName) = 0 Then
Exit Function
End If
If Dir(FileName) = [Ô][Ô] Then
Err.Raise vbObjectError, , [Ô]File not found: [Ô][Ô][Ô] & FileName & [Ô][Ô][Ô][Ô]
End If
ChunkSize = 65536
FileNum = FreeFile
Open FileName For Binary As #FileNum
BytesNeeded = LOF(FileNum)
Buffers = BytesNeeded \ ChunkSize
Remainder = BytesNeeded Mod ChunkSize
For i = 0 To Buffers - 1
ReDim Buffer(ChunkSize)
Get #FileNum, , Buffer
rsclientes.Fields([Ô]foto[Ô]).AppendChunk (Buffer)
Next
ReDim Buffer(Remainder)
Get #FileNum, , Buffer
rsclientes.Fields([Ô]foto[Ô]).AppendChunk (Buffer)
Close #FileNum
Kill FileName
End Function
a funcao CopyFieldToFile, coloca a imagem que esta gravada no banco
para uma image ou picture.
Function CopyFieldToFile(strFileName As String, Controle As PictureBox) As String
Dim FileNum As Integer
Dim Buffer() As Byte
Dim BytesNeeded As Long
Dim Buffers As Long
Dim Remainder As Long
Dim Offset As Long
Dim r As Integer
Dim i As Long
Dim ChunkSize As Long
ChunkSize = 65536
BytesNeeded = rsclientes.Fields([Ô]foto[Ô]).FieldSize
If BytesNeeded > 0 Then
Buffers = BytesNeeded \ ChunkSize
Remainder = BytesNeeded Mod ChunkSize
If Dir(strFileName) <> [Ô][Ô] Then
Kill strFileName
End If
FileNum = FreeFile
Open strFileName For Binary As #FileNum
For i = 0 To Buffers - 1
ReDim Buffer(ChunkSize)
Buffer = rsclientes.Fields([Ô]foto[Ô]).GetChunk(Offset, ChunkSize)
Put #FileNum, , Buffer()
Offset = Offset + ChunkSize
Next
ReDim Buffer(Remainder)
Buffer = rsclientes.Fields([Ô]foto[Ô]).GetChunk(Offset, Remainder)
Put #FileNum, , Buffer()
Close #FileNum
End If
CopyFieldToFile = strFileName
Controle.Picture = LoadPicture(strFileName)
Kill strFileName
End Function
Marcelo, ate ai. meu sistema ja visualizar. Seguindo seu raciocinio do picture como faço para exportar para forma de arquivo?
Tópico encerrado , respostas não são mais permitidas