EXIBIR IMAGEM ANEXA EM CAMPO DO FORM-ACCESS 2010

RLAZOSKI 06/07/2011 17:57:48
#378604
Olá,
Estou criando uma aplicação e não consigo exibir a imagem anexa em algum campo do meu Form, quando seleciono um registro em um listbox.

Trata-se de uma agenda, onde os registros são listados em um listbox, quando dou um duploclick no registro do listbox ele carrega as informações do registro para os campos textbox. Gostaria de carregar uma imagem junto com as informações do registro. Cada registro na tabela possui uma imagem.

Grato se alguém puder me ajudar, caso seja necessário posso encaminhar a minha aplicação.
Utilizo o Access 2010.

Segue os principais códigos utilizados:
Utilizo este código para carregar os textbox com as informações dos registros da tabela, o campo foto é o campo que consta a imagem.
Private Sub list_Ag_Contatos_DblClick(Cancel As Integer)
Limpar_Agenda
Set Banco = CurrentDb
Set Tb = Banco.OpenRecordset([Ô]SELECT ID, Nome, Celular, Fixo, @Comercial, @Pessoal, Grupo, Foto [Ô] & _
[Ô]FROM AGENDA WHERE ((ID)= [Ô] & list_Ag_Contatos & [Ô])[Ô])

txt_Ag_Nome = Tb([Ô]Nome[Ô])
txt_Ag_Celular = Tb([Ô]Celular[Ô])
txt_Ag_Fixo = Tb([Ô]Fixo[Ô])
txt_Ag_EmailComercial = Tb([Ô]@Comercial[Ô])
txt_Ag_EmailPessoal = Tb([Ô]@Pessoal[Ô])
cmb_Ag_Grupo = Tb([Ô]Grupo[Ô])
txt_Ag_ID = Tb([Ô]ID[Ô])
End Sub
NLSOLUCOES 06/07/2011 21:09:10
#378611
Abaixo seguem as funções que armazenam e lêem as imagens:

Public Sub GetPicture(f As Field, pic As Control)
Dim x() As Byte
Dim ff As Integer
Dim strArqTemp As String
strArqTemp = [Ô]c:    emp\pic.bmp[Ô]
ff = FreeFile
Open strArqTemp For Binary Access Write As ff
x() = f.GetChunk(0, f.FieldSize)
Put ff, , x()
Close ff
pic.Picture = LoadPicture(strArqTemp)
Kill strArqTemp
End Sub

Public Sub LetPicture(f As Field, pic As Control)
Dim x() As Byte
Dim n As Long
Dim ff As Integer
Dim strArqTemp As String
ff = FreeFile
strArqTemp = [Ô]c:    emp\pic.bmp[Ô]
SavePicture pic.Picture, strArqTemp
Open strArqTemp For Binary Access Read As ff
n = LOF(ff)
If n Then
ReDim x(n)
Get ff, , x()
f.AppendChunk x()
Close ff
End If
Kill strArqTemp
End Sub

Primeiro você terá que armazenar a imagem no banco de dados no formato em que ele consiga reconhecer, pra isso use:

rec.AddNew
LetPicture rec([Ô]Figura[Ô]), Picture1
[ô]rec([Ô]OutroCampo[Ô]) = outrovalor...
rec.Update

Já para a leitura do registro use:


GetPicture rec([Ô]Figura[Ô]), Picture1

onde rec([Ô]Figura[Ô]) é o recordset que contém a figura.

[txt-color=#007100]Fonte: [/txt-color]http://www.vbweb.com.br/dicas_visual.asp?Codigo=1755&Classificacao=

RLAZOSKI 07/07/2011 09:29:33
#378632
ola,
Com este código eu atribuo uma imagem partindo de um diretório, não diretamente do banco, correto?
Queria utilizar o campo “anexo” do access.
Carreguei a aplicação no link abaixo, caso ajude na compreensão.
http://www.4shared.com/file/BavpjYdy/AGENDA_-_TESTE_FOTO.html

Grato pela ajuda
Tópico encerrado , respostas não são mais permitidas