Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rogério Volgarine

Imagem no REL por caminho

Recommended Posts

tem como montar um relatório no Access mostrando imagem do caminho salvo em um campo??? Por exemplo:Tabela_Produtos Campos --> Código, Produto, Descrição, Preço, Imagem onde no campo imagem eu gravo o caminho .\Imagens\Produto.jpg e no relatório aparecer a imagem ??? Não sei o que usar de componente no relatório para ligar o componente imagem com o campo da tabela.....você sabe??? Ou seja a intenção é montar um catálogo de produtos para ser impresso mas de maneira que ficasse fácil cadastrar na Tabela Produtos....os produtos e o caminho das imagens quero que aparece por exemplo por página 5 produtos com a imagem e descriçao...obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem como montar um relatório no Access mostrando imagem do caminho salvo em um campo???

 

 

Por exemplo:

 

Tabela_Produtos

Campos --> Código, Produto, Descrição, Preço, Imagem onde no campo imagem eu gravo o caminho .\Imagens\Produto.jpg e no relatório aparecer a imagem ???

 

 

Não sei o que usar de componente no relatório para ligar o componente imagem com o campo da tabela.....você sabe???

 

Ou seja a intenção é montar um catálogo de produtos para ser impresso mas de maneira que ficasse fácil cadastrar na Tabela Produtos....os produtos e o caminho das imagens

 

quero que aparece por exemplo por página 5 produtos com a imagem e descriçao...

 

obrigado

Rogério, vou te passar algumas instruções e funções para realizar a abertura da figura:

 

Crie um módulo com as seguintes funções:

 

Option Explicit

Option Compare Database

 

Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _

"GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Boolean

Declare Function GetSaveFileName Lib "comdlg32.dll" Alias _

"GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Boolean

 

Type MSA_OPENFILENAME

' Seqüência de filtro usada para os filtros do diálogo Abrir.

' Usa MSA_CriarSeqüênciaDeFiltro() para criar isso.

' Padrão = Todos os Arquivos, *.*

strFiltro As String

' Filtro inicial a exibir.

' Padrão = 1

lngÍndiceFiltro As Long

' Diretório inicial no qual abrir o diálogo.

' Padrão = Diretório de trabalho atual.

strDirInicial As String

' Nome de arquivo inicial com o qual preencher o diálogo.

' Padrão = "".

strArqInicial As String

strTítuloDoDiálogo As String

' Extensão padrão para anexar ao arquivo se o usuário não especificar uma.

' Padrão = Valores do Sistema (Abrir Arquivo, Salvar Arquivo).

strExtensãoPadrão As String

' Sinalizadores (consulte a lista de constantes) a serem usados.

' Padrão = sem sinalizadores.

lngSinalizadores As Long

' Caminho completo do arquivo escolhido. Quando a caixa de diálogo Arquivo

' Abrir é apresentada e o usuário escolhe um arquivo não existente, somente

' o texto da caixa "Nome do arquivo" é retornado.

strCaminhoCompletoRetornado As String

' Nome do arquivo escolhido.

strNomeDeArquivoRetornado As String

' Deslocamento no caminho completo (strCaminhoCompletoRetornado)

' onde o nome do arquivo (strNomeDeArquivoRetornado) começa.

intDeslocamentoDoArquivo As Integer

' Deslocamento no caminho completo (strCaminhoCompletoRetornado)

' onde começa a extensão do arquivo.

intExtensãoDoArquivo As Integer

End Type

 

Const ALLFILES = "Todos os arquivos"

 

Type OPENFILENAME

lStructSize As Long

hwndOwner As Long

hInstance As Long

lpstrFilter As String

lpstrCustomFilter As Long

nMaxCustrFilter As Long

nFilterIndex As Long

lpstrFile As String

nMaxFile As Long

lpstrFileTitle As String

nMaxFileTitle As Long

lpstrInitialDir As String

lpstrTitle As String

flags As Long

nFileOffset As Integer

nFileExtension As Integer

lpstrDefExt As String

lCustrData As Long

lpfnHook As Long

lpTemplateName As Long

End Type

 

Const OFN_ALLOWMULTISELECT = &H200

Const OFN_CREATEPROMPT = &H2000

Const OFN_EXPLORER = &H80000

Const OFN_FILEMUSTEXIST = &H1000

Const OFN_HIDEREADONLY = &H4

Const OFN_NOCHANGEDIR = &H8

Const OFN_NODEREFERENCELINKS = &H100000

Const OFN_NONETWORKBUTTON = &H20000

Const OFN_NOREADONLYRETURN = &H8000

Const OFN_NOVALIDATE = &H100

Const OFN_OVERWRITEPROMPT = &H2

Const OFN_PATHMUSTEXIST = &H800

Const OFN_READONLY = &H1

Const OFN_SHOWHELP = &H10

Function localizarArquivo(strCaminhoDeLocalização) As String

' Exibe a caixa de diálogo Abrir para que o usuário localize o

' banco de dados BdLab. Retorna o caminho completo para o BdLab.

 

Dim msaof As MSA_OPENFILENAME

 

' Define opções para a caixa de diálogo.

msaof.strTítuloDoDiálogo = "Selecione o arquivo."

msaof.strDirInicial = strCaminhoDeLocalização

msaof.strFiltro = MSA_CriarSeqüênciaDeFiltro("Todos", "*.*")

 

' Chama a rotina do diálogo Abrir.

MSA_ObterAbrirNomeArq msaof

 

' Retorna o caminho e o nome de arquivo.

localizarArquivo = Trim(msaof.strCaminhoCompletoRetornado)

 

End Function

Function MSA_CriarSeqüênciaDeFiltro(ParamArray varFilt() As Variant) As String

' Cria uma seqüência de filtro a partir dos argumentos passados.

' Retorna "" se nenhum argumento for passado.

' Espera um número par de argumentos (nome do filtro, extensão),

' mas se um número ímpar de argumentos for passado, anexa *.*

 

Dim strFiltro As String

Dim intRet As Integer

Dim intNúm As Integer

 

intNúm = UBound(varFilt)

If (intNúm <> -1) Then

For intRet = 0 To intNúm

strFiltro = strFiltro & varFilt(intRet) & vbNullChar

Next

If intNúm Mod 2 = 0 Then

strFiltro = strFiltro & "*.*" & vbNullChar

End If

 

strFiltro = strFiltro & vbNullChar

Else

strFiltro = ""

End If

 

MSA_CriarSeqüênciaDeFiltro = strFiltro

End Function

 

Function MSA_ConverterSeqüênciaDeFiltro(strFiltroEnt As String) As String

' Cria uma seqüência de filtro a partir de uma seqüência separada por barras ("|").

' A seqüência deve consistir em pares filtro|extensão, como "Access Databases|*.mdb|All Files|*.*"

' Se não houver extensões para o último par de filtro, *.* será adicionado.

' Este código ignora quaisquer seqüências vazias, ou seja, pares "||".

' Retorna "" quando a seqüência passada está vazia.

 

 

Dim strFiltro As String

Dim intNúm As Integer, intPos As Integer, intÚltPos As Integer

 

strFiltro = ""

intNúm = 0

intPos = 1

intÚltPos = 1

 

' Adiciona seqüências enquanto encontra barras.

' Ignora quaisquer seqüências vazias (não admitidas).

Do

intPos = InStr(intÚltPos, strFiltroEnt, "|")

If (intPos > intÚltPos) Then

strFiltro = strFiltro & Mid(strFiltroEnt, intÚltPos, intPos - intÚltPos) & vbNullChar

intNúm = intNúm + 1

intÚltPos = intPos + 1

ElseIf (intPos = intÚltPos) Then

intÚltPos = intPos + 1

End If

Loop Until (intPos = 0)

 

' Obtém a última seqüência se ela existir (assumindo

' que strFiltroEnt não termina em barra).

intPos = Len(strFiltroEnt)

If (intPos >= intÚltPos) Then

strFiltro = strFiltro & Mid(strFiltroEnt, intÚltPos, intPos - intÚltPos + 1) & vbNullChar

intNúm = intNúm + 1

End If

 

' Adiciona *.* se não houver extensão para a última seqüência.

If intNúm Mod 2 = 1 Then

strFiltro = strFiltro & "*.*" & vbNullChar

End If

 

' Adiciona NULL de terminação se temos algum filtro.

If strFiltro <> "" Then

strFiltro = strFiltro & vbNullChar

End If

 

MSA_ConverterSeqüênciaDeFiltro = strFiltro

End Function

 

Private Function MSA_ObterSalvarNomeArq(msaof As MSA_OPENFILENAME) As Integer

' Abre o diálogo de salvar arquivo.

 

Dim of As OPENFILENAME

Dim intRet As Integer

 

MSAOF_para_OF msaof, of

of.flags = of.flags Or OFN_HIDEREADONLY

intRet = GetSaveFileName(of)

If intRet Then

OF_para_MSAOF of, msaof

End If

MSA_ObterSalvarNomeArq = intRet

End Function

 

Function MSA_SimplesObterSalvarNomeArq() As String

' Abre o diálogo de salvar arquivo com valores padrões.

 

Dim msaof As MSA_OPENFILENAME

Dim intRet As Integer

Dim strRet As String

 

intRet = MSA_ObterSalvarNomeArq(msaof)

If intRet Then

strRet = msaof.strCaminhoCompletoRetornado

End If

 

MSA_SimplesObterSalvarNomeArq = strRet

End Function

 

Private Function MSA_ObterAbrirNomeArq(msaof As MSA_OPENFILENAME) As Integer

' Abre o diálogo Abrir.

 

Dim of As OPENFILENAME

Dim intRet As Integer

 

MSAOF_para_OF msaof, of

intRet = GetOpenFileName(of)

If intRet Then

OF_para_MSAOF of, msaof

End If

MSA_ObterAbrirNomeArq = intRet

End Function

 

Function MSA_SimplesObterAbrirNomeArq() As String

' Abre o diálogo Abrir com valores padrões.

 

Dim msaof As MSA_OPENFILENAME

Dim intRet As Integer

Dim strRet As String

 

intRet = MSA_ObterAbrirNomeArq(msaof)

If intRet Then

strRet = msaof.strCaminhoCompletoRetornado

End If

 

MSA_SimplesObterAbrirNomeArq = strRet

End Function

 

Private Sub OF_para_MSAOF(of As OPENFILENAME, msaof As MSA_OPENFILENAME)

' Esta sub converte da estrutura Win32 para a estrutura do Microsoft Access.

 

msaof.strCaminhoCompletoRetornado = Left(of.lpstrFile, InStr(of.lpstrFile, vbNullChar) - 1)

msaof.strNomeDeArquivoRetornado = of.lpstrFileTitle

msaof.intDeslocamentoDoArquivo = of.nFileOffset

msaof.intExtensãoDoArquivo = of.nFileExtension

End Sub

 

Private Sub MSAOF_para_OF(msaof As MSA_OPENFILENAME, of As OPENFILENAME)

' Esta sub converte da estrutura do Microsoft Access para a estrutura Win32.

 

Dim strArquivo As String * 512

 

' Inicializa algumas partes da estrutura.

of.hwndOwner = Application.hWndAccessApp

of.hInstance = 0

of.lpstrCustomFilter = 0

of.nMaxCustrFilter = 0

of.lpfnHook = 0

of.lpTemplateName = 0

of.lCustrData = 0

 

If msaof.strFiltro = "" Then

of.lpstrFilter = MSA_CriarSeqüênciaDeFiltro(ALLFILES)

Else

of.lpstrFilter = msaof.strFiltro

End If

of.nFilterIndex = msaof.lngÍndiceFiltro

 

of.lpstrFile = msaof.strArqInicial _

& String(512 - Len(msaof.strArqInicial), 0)

of.nMaxFile = 511

 

of.lpstrFileTitle = String(512, 0)

of.nMaxFileTitle = 511

 

of.lpstrTitle = msaof.strTítuloDoDiálogo

 

of.lpstrInitialDir = msaof.strDirInicial

 

of.lpstrDefExt = msaof.strExtensãoPadrão

 

of.flags = msaof.lngSinalizadores

 

of.lStructSize = Len(of)

End Sub

 

 

Na tabela onde serão gravados os registros do estoque tem que haver um campo para gravar o caminho da imagem e no formulário onde você cadastra os produtos, crie um botão de comando e no evento ao clicar insira o seguinte código:

 

Dim strCaminho As String

 

strCaminho = localizarArquivo("c:\")

If IsNull(strCaminho) Or strCaminho = "" Then Exit Sub

 

campo onde será gravado o caminho = strCaminho

 

Se quiser que no formulário também apareça a imagem, basta criar um controle "imagem" e logo abaixo do código passado acima, inserir o seguinte código:

 

Me![controleimagem].Picture = Me![campo onde será gravado o caminho]

 

Agora no relatório, é só seguir o mesmo procedimento: Insira um controle de imagem, mas agora no "valor padrão" deste controle insira:

 

= [campo onde será gravado o caminho]

 

PRONTO.. AGORA SERÁ EXIBIDA EM TODOS OS REGISTROS A IMAGEM CORRESPONDENTE.

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza ALexFiz tudo com você explicou, e deu certo, só estou tendo problemas no relatório, a imagem não aparece...Voce pode me ajudar?Eu inseri no relatório o campo onde é salvo o endereço da imagem, porem qdo abre o relatório, a imagem não aparece...Eu inseri tbm um Controle de Imagem... mas ele pede que eu selecione uma Imagem, e nas propriedade não existe o campo VALOR PADRAO...Se você quiser dar uma olhada no bd, posso te enviar uma cópia p/ você..Obrigado, Aguardo seu contato.!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, alguem pode me ajudar a resolver um problema??

Eu estou inserindo imagens em um form, segui o post acima e deu certo, mas na hora da impressão a imagem não aparece....

Como posso fazer p/ acertar isso?

Obrigado!

 

 

 

tem como montar um relatório no Access mostrando imagem do caminho salvo em um campo???

 

 

Por exemplo:

 

Tabela_Produtos

Campos --> Código, Produto, Descrição, Preço, Imagem onde no campo imagem eu gravo o caminho .\Imagens\Produto.jpg e no relatório aparecer a imagem ???

 

 

Não sei o que usar de componente no relatório para ligar o componente imagem com o campo da tabela.....você sabe???

 

Ou seja a intenção é montar um catálogo de produtos para ser impresso mas de maneira que ficasse fácil cadastrar na Tabela Produtos....os produtos e o caminho das imagens

 

quero que aparece por exemplo por página 5 produtos com a imagem e descriçao...

 

obrigado

Rogério, vou te passar algumas instruções e funções para realizar a abertura da figura:

 

Crie um módulo com as seguintes funções:

 

Option Explicit

Option Compare Database

 

Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _

"GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Boolean

Declare Function GetSaveFileName Lib "comdlg32.dll" Alias _

"GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Boolean

 

Type MSA_OPENFILENAME

' Seqüência de filtro usada para os filtros do diálogo Abrir.

' Usa MSA_CriarSeqüênciaDeFiltro() para criar isso.

' Padrão = Todos os Arquivos, *.*

strFiltro As String

' Filtro inicial a exibir.

' Padrão = 1

lngÍndiceFiltro As Long

' Diretório inicial no qual abrir o diálogo.

' Padrão = Diretório de trabalho atual.

strDirInicial As String

' Nome de arquivo inicial com o qual preencher o diálogo.

' Padrão = "".

strArqInicial As String

strTítuloDoDiálogo As String

' Extensão padrão para anexar ao arquivo se o usuário não especificar uma.

' Padrão = Valores do Sistema (Abrir Arquivo, Salvar Arquivo).

strExtensãoPadrão As String

' Sinalizadores (consulte a lista de constantes) a serem usados.

' Padrão = sem sinalizadores.

lngSinalizadores As Long

' Caminho completo do arquivo escolhido. Quando a caixa de diálogo Arquivo

' Abrir é apresentada e o usuário escolhe um arquivo não existente, somente

' o texto da caixa "Nome do arquivo" é retornado.

strCaminhoCompletoRetornado As String

' Nome do arquivo escolhido.

strNomeDeArquivoRetornado As String

' Deslocamento no caminho completo (strCaminhoCompletoRetornado)

' onde o nome do arquivo (strNomeDeArquivoRetornado) começa.

intDeslocamentoDoArquivo As Integer

' Deslocamento no caminho completo (strCaminhoCompletoRetornado)

' onde começa a extensão do arquivo.

intExtensãoDoArquivo As Integer

End Type

 

Const ALLFILES = "Todos os arquivos"

 

Type OPENFILENAME

lStructSize As Long

hwndOwner As Long

hInstance As Long

lpstrFilter As String

lpstrCustomFilter As Long

nMaxCustrFilter As Long

nFilterIndex As Long

lpstrFile As String

nMaxFile As Long

lpstrFileTitle As String

nMaxFileTitle As Long

lpstrInitialDir As String

lpstrTitle As String

flags As Long

nFileOffset As Integer

nFileExtension As Integer

lpstrDefExt As String

lCustrData As Long

lpfnHook As Long

lpTemplateName As Long

End Type

 

Const OFN_ALLOWMULTISELECT = &H200

Const OFN_CREATEPROMPT = &H2000

Const OFN_EXPLORER = &H80000

Const OFN_FILEMUSTEXIST = &H1000

Const OFN_HIDEREADONLY = &H4

Const OFN_NOCHANGEDIR = &H8

Const OFN_NODEREFERENCELINKS = &H100000

Const OFN_NONETWORKBUTTON = &H20000

Const OFN_NOREADONLYRETURN = &H8000

Const OFN_NOVALIDATE = &H100

Const OFN_OVERWRITEPROMPT = &H2

Const OFN_PATHMUSTEXIST = &H800

Const OFN_READONLY = &H1

Const OFN_SHOWHELP = &H10

Function localizarArquivo(strCaminhoDeLocalização) As String

' Exibe a caixa de diálogo Abrir para que o usuário localize o

' banco de dados BdLab. Retorna o caminho completo para o BdLab.

 

Dim msaof As MSA_OPENFILENAME

 

' Define opções para a caixa de diálogo.

msaof.strTítuloDoDiálogo = "Selecione o arquivo."

msaof.strDirInicial = strCaminhoDeLocalização

msaof.strFiltro = MSA_CriarSeqüênciaDeFiltro("Todos", "*.*")

 

' Chama a rotina do diálogo Abrir.

MSA_ObterAbrirNomeArq msaof

 

' Retorna o caminho e o nome de arquivo.

localizarArquivo = Trim(msaof.strCaminhoCompletoRetornado)

 

End Function

Function MSA_CriarSeqüênciaDeFiltro(ParamArray varFilt() As Variant) As String

' Cria uma seqüência de filtro a partir dos argumentos passados.

' Retorna "" se nenhum argumento for passado.

' Espera um número par de argumentos (nome do filtro, extensão),

' mas se um número ímpar de argumentos for passado, anexa *.*

 

Dim strFiltro As String

Dim intRet As Integer

Dim intNúm As Integer

 

intNúm = UBound(varFilt)

If (intNúm <> -1) Then

For intRet = 0 To intNúm

strFiltro = strFiltro & varFilt(intRet) & vbNullChar

Next

If intNúm Mod 2 = 0 Then

strFiltro = strFiltro & "*.*" & vbNullChar

End If

 

strFiltro = strFiltro & vbNullChar

Else

strFiltro = ""

End If

 

MSA_CriarSeqüênciaDeFiltro = strFiltro

End Function

 

Function MSA_ConverterSeqüênciaDeFiltro(strFiltroEnt As String) As String

' Cria uma seqüência de filtro a partir de uma seqüência separada por barras ("|").

' A seqüência deve consistir em pares filtro|extensão, como "Access Databases|*.mdb|All Files|*.*"

' Se não houver extensões para o último par de filtro, *.* será adicionado.

' Este código ignora quaisquer seqüências vazias, ou seja, pares "||".

' Retorna "" quando a seqüência passada está vazia.

 

 

Dim strFiltro As String

Dim intNúm As Integer, intPos As Integer, intÚltPos As Integer

 

strFiltro = ""

intNúm = 0

intPos = 1

intÚltPos = 1

 

' Adiciona seqüências enquanto encontra barras.

' Ignora quaisquer seqüências vazias (não admitidas).

Do

intPos = InStr(intÚltPos, strFiltroEnt, "|")

If (intPos > intÚltPos) Then

strFiltro = strFiltro & Mid(strFiltroEnt, intÚltPos, intPos - intÚltPos) & vbNullChar

intNúm = intNúm + 1

intÚltPos = intPos + 1

ElseIf (intPos = intÚltPos) Then

intÚltPos = intPos + 1

End If

Loop Until (intPos = 0)

 

' Obtém a última seqüência se ela existir (assumindo

' que strFiltroEnt não termina em barra).

intPos = Len(strFiltroEnt)

If (intPos >= intÚltPos) Then

strFiltro = strFiltro & Mid(strFiltroEnt, intÚltPos, intPos - intÚltPos + 1) & vbNullChar

intNúm = intNúm + 1

End If

 

' Adiciona *.* se não houver extensão para a última seqüência.

If intNúm Mod 2 = 1 Then

strFiltro = strFiltro & "*.*" & vbNullChar

End If

 

' Adiciona NULL de terminação se temos algum filtro.

If strFiltro <> "" Then

strFiltro = strFiltro & vbNullChar

End If

 

MSA_ConverterSeqüênciaDeFiltro = strFiltro

End Function

 

Private Function MSA_ObterSalvarNomeArq(msaof As MSA_OPENFILENAME) As Integer

' Abre o diálogo de salvar arquivo.

 

Dim of As OPENFILENAME

Dim intRet As Integer

 

MSAOF_para_OF msaof, of

of.flags = of.flags Or OFN_HIDEREADONLY

intRet = GetSaveFileName(of)

If intRet Then

OF_para_MSAOF of, msaof

End If

MSA_ObterSalvarNomeArq = intRet

End Function

 

Function MSA_SimplesObterSalvarNomeArq() As String

' Abre o diálogo de salvar arquivo com valores padrões.

 

Dim msaof As MSA_OPENFILENAME

Dim intRet As Integer

Dim strRet As String

 

intRet = MSA_ObterSalvarNomeArq(msaof)

If intRet Then

strRet = msaof.strCaminhoCompletoRetornado

End If

 

MSA_SimplesObterSalvarNomeArq = strRet

End Function

 

Private Function MSA_ObterAbrirNomeArq(msaof As MSA_OPENFILENAME) As Integer

' Abre o diálogo Abrir.

 

Dim of As OPENFILENAME

Dim intRet As Integer

 

MSAOF_para_OF msaof, of

intRet = GetOpenFileName(of)

If intRet Then

OF_para_MSAOF of, msaof

End If

MSA_ObterAbrirNomeArq = intRet

End Function

 

Function MSA_SimplesObterAbrirNomeArq() As String

' Abre o diálogo Abrir com valores padrões.

 

Dim msaof As MSA_OPENFILENAME

Dim intRet As Integer

Dim strRet As String

 

intRet = MSA_ObterAbrirNomeArq(msaof)

If intRet Then

strRet = msaof.strCaminhoCompletoRetornado

End If

 

MSA_SimplesObterAbrirNomeArq = strRet

End Function

 

Private Sub OF_para_MSAOF(of As OPENFILENAME, msaof As MSA_OPENFILENAME)

' Esta sub converte da estrutura Win32 para a estrutura do Microsoft Access.

 

msaof.strCaminhoCompletoRetornado = Left(of.lpstrFile, InStr(of.lpstrFile, vbNullChar) - 1)

msaof.strNomeDeArquivoRetornado = of.lpstrFileTitle

msaof.intDeslocamentoDoArquivo = of.nFileOffset

msaof.intExtensãoDoArquivo = of.nFileExtension

End Sub

 

Private Sub MSAOF_para_OF(msaof As MSA_OPENFILENAME, of As OPENFILENAME)

' Esta sub converte da estrutura do Microsoft Access para a estrutura Win32.

 

Dim strArquivo As String * 512

 

' Inicializa algumas partes da estrutura.

of.hwndOwner = Application.hWndAccessApp

of.hInstance = 0

of.lpstrCustomFilter = 0

of.nMaxCustrFilter = 0

of.lpfnHook = 0

of.lpTemplateName = 0

of.lCustrData = 0

 

If msaof.strFiltro = "" Then

of.lpstrFilter = MSA_CriarSeqüênciaDeFiltro(ALLFILES)

Else

of.lpstrFilter = msaof.strFiltro

End If

of.nFilterIndex = msaof.lngÍndiceFiltro

 

of.lpstrFile = msaof.strArqInicial _

& String(512 - Len(msaof.strArqInicial), 0)

of.nMaxFile = 511

 

of.lpstrFileTitle = String(512, 0)

of.nMaxFileTitle = 511

 

of.lpstrTitle = msaof.strTítuloDoDiálogo

 

of.lpstrInitialDir = msaof.strDirInicial

 

of.lpstrDefExt = msaof.strExtensãoPadrão

 

of.flags = msaof.lngSinalizadores

 

of.lStructSize = Len(of)

End Sub

 

 

Na tabela onde serão gravados os registros do estoque tem que haver um campo para gravar o caminho da imagem e no formulário onde você cadastra os produtos, crie um botão de comando e no evento ao clicar insira o seguinte código:

 

Dim strCaminho As String

 

strCaminho = localizarArquivo("c:\")

If IsNull(strCaminho) Or strCaminho = "" Then Exit Sub

 

campo onde será gravado o caminho = strCaminho

 

Se quiser que no formulário também apareça a imagem, basta criar um controle "imagem" e logo abaixo do código passado acima, inserir o seguinte código:

 

Me![controleimagem].Picture = Me![campo onde será gravado o caminho]

 

Agora no relatório, é só seguir o mesmo procedimento: Insira um controle de imagem, mas agora no "valor padrão" deste controle insira:

 

= [campo onde será gravado o caminho]

 

PRONTO.. AGORA SERÁ EXIBIDA EM TODOS OS REGISTROS A IMAGEM CORRESPONDENTE.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.