MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Salvar uma imagem (.bmp) na tabela via VBA

    Compartilhe

    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 920
    Registrado : 05/02/2010

    [Resolvido]Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  good guy em Sex 04 Abr 2014, 21:34

    Olá pessoal,

    Estou com dificuldade para criar um código em um botão para salvar uma imagem em um objeto OLE não acoplado. Tenho uma tabela (tblImagem) com dois campos: Codigo, Imagem. O campo Codigo é do tipo Numeração automática. A cada inserção iria para o registro seguinte. Pesquisei uma solução do Harrysohn, mas não consegui aplicá-la para o meu propósito. Se ele ler este tópico e puder me ajudar, ficaria agradecido. É claro, todos são bem-vindos e estarei imensamente grato.

    Tentei de forma simples com este código:

    Private Sub cmdLogo_Click()
    On Error Resume Next
    Dim sImagem As String
    Dim strSQL As String


    sImagem = Forms!Catálogo!cxImagem  'cxImagem é o objeto OLE Não acoplado
    strSQL = "INSERT INTO tblImagem(Imagem) VALUES('" & sImagem & "')"
    CurrentDb.Execute strSQL

    End Sub

    Por que declarei a variável sImagem como do tipo String?

    Porque funcionou perfeitamente a despeito de ser do tipo Variant neste código, o qual este último(tipo de dados) não funcionou:

    Private Sub cmdBorda_Click()
    On Error Resume Next
    Dim sImagem2 As String
    Dim strSQL2 As String
    Dim n As Integer


    n = DLookup("ID", "tblBordas", "ID = Forms!Catálogo!cboBordasCol")

    sImagem2 = DLookup("Bordas", "tblBordas", "ID = " & n)

    Me.cxImagem = sImagem2
      'Neste objeto OLE Não acoplado consigo visualizar a imagem pesquisada na tabela tblBordas.
    Me.cxImagem.Width = 4 * 567
    Me.cxImagem.Height = 2.5 * 567

    End Sub

    formiga10x
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 11/09/2013

    Re: [Resolvido]Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  formiga10x em Dom 06 Abr 2014, 04:26

    Não sei se ajuda mas..

    [Você precisa estar registrado e conectado para ver este link.]

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3236
    Registrado : 20/04/2011

    Re: [Resolvido]Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  Silvio em Dom 06 Abr 2014, 13:55

    Bom dia a todos...

    Não sei se vai lhe ajudar Good, mas eu uso essa rotina para incluir fotos...

    Código:
    Private Sub bt_adcfoto_Click()
     Dim strCaminho As String, strPastaInicial As String
     
        strPastaInicial = "C:\Meus Documentos"
        strCaminho = Buscar(Me.hWnd, "Inserir foto", strPastaInicial, _
        "Arquivos gráficos (*.bmp; *.gif; *.jpg)" & vbNullChar & "*.bmp; *.gif; *.jpg")
        If Len(strCaminho) > 0 Then
       
       
            Me.localfoto = Mid([strCaminho], InStrRev([strCaminho], "\") + 1)
           
          Me.foto.Picture = CurrentProject.Path & "\funcionario\" & Me.localfoto.Value
        End If

    Na tabela tenho um campo "Localfoto "no formato de texto onde armazeno o local da mesma.
    No formulário, um quadro de imagem, com o nome de "foto".
    Eu não costumo armazenar imagens dentro do projeto ou do banco para não sobrecarregar o mesmo com o passar do tempo, jogo as imagens em uma pasta, aqui chamada "funcionário" e deixo essa pasta junto com o banco.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 920
    Registrado : 05/02/2010

    Salvar uma imagem(.bmp) na tabela via VBA

    Mensagem  good guy em Seg 07 Abr 2014, 17:51

    Obrigado amigos Formiga e Silvio,

    Vou tentar uma solução de cada vez. Primeiro vou considerar a do Silvio que está mais prático para copiar, colar e ajustar.
    Vamos tirar algumas dúvidas, Silvio:


    localfoto - ? Seria meu campo Imagem que é do tipo OBJETO OLE?


    Minha fonte de dados em um arquivo dentro da pasta onde está o bd. Como pode ser o campo Imagem do tipo Texto?. Aqui não entendi.

    tblImagem - Tabela com as fotos ou logos .bmp
    Campos - ID(Numeração Automática), Imagem (Objeto OLE)


    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5889
    Registrado : 05/11/2009

    Re: [Resolvido]Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  Alexandre Neves em Seg 07 Abr 2014, 18:44

    Boa tarde, good guy
    Veja [Você precisa estar registrado e conectado para ver este link.]


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 920
    Registrado : 05/02/2010

    Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  good guy em Seg 07 Abr 2014, 19:26

    Olá Alexandre,

    Esta solução o Formiga já apresentou. O problema que o código serve apenas para o VB6, o que não é o meu caso.

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3236
    Registrado : 20/04/2011

    Re: [Resolvido]Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  Silvio em Seg 07 Abr 2014, 21:54

    Good, me passa teu mail, que vou te passar um que já esta rodando com todas as aplicações.
    No aguardo de tua resposta.

    Silvio


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 920
    Registrado : 05/02/2010

    Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  good guy em Seg 07 Abr 2014, 22:05

    Olá Silvio,

    Você tem dropbox? Se for tão pesado assim, posta o link que eu baixo aqui. Tem as regras do fórum. Não podemos esquecê-las, grande amigo.


    Última edição por good guy em Seg 07 Abr 2014, 22:07, editado 1 vez(es)

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3236
    Registrado : 20/04/2011

    Re: [Resolvido]Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  Silvio em Seg 07 Abr 2014, 22:06

    Sim eu sei das regras, mas o problema é que está feito e rodando em cliente.
    Não é pesado não...


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    Jungli
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 629
    Registrado : 07/05/2010

    Re: [Resolvido]Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  Jungli em Seg 07 Abr 2014, 22:11

    Boa noite, tente assim:

       With Me.CampoNoFormulário
           .Class = "Paint.Picture"
           .OLETypeAllowed = acOLEEmbedded
           .SourceDoc = Caminho do BMP
           .Action = acOLECreateEmbed
       End With
       DoCmd.RunCommand acCmdSaveRecord
       Me.Repaint

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3236
    Registrado : 20/04/2011

    Re: [Resolvido]Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  Silvio em Seg 07 Abr 2014, 22:11

    tem um aqui, que eu desenvolvi a muito tempo atrás.
    Anexos
    ProjetoCadastro.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (107 Kb) Baixado 93 vez(es)


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3236
    Registrado : 20/04/2011

    Re: [Resolvido]Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  Silvio em Seg 07 Abr 2014, 22:12

    Grande Jungli, não vi que estavas a responder também....desculpe !


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    Jungli
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 629
    Registrado : 07/05/2010

    Re: [Resolvido]Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  Jungli em Seg 07 Abr 2014, 22:14

     Razz, mais informação = mais crescemos Wink

    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 920
    Registrado : 05/02/2010

    Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  good guy em Seg 07 Abr 2014, 22:46

    Olá Silvio,

    Tentei seu exemplo, mas acusou a seguinte mensagem:

    O Microsoft Access não pode abrir o arquivo
    'C:\ProjetoCadastro\funcionario\1 - angelina.bmp'.  '(ou angelina.jpg original)


    Já no seu exemplo, Jungli acusou:

    Erro de compilação:
    Uso inválido de propriedade

    With Me
       .cxImagem    <=========
       .Class = "Paint.Picture"
       .OLETypeAllowed = acOLEEmbedded
       .SourceDoc = "F:\MeusAplicativos\Logos\EngenhariaCivil3.bmp"
       .Action = acOLECreateEmbed
      End With
      DoCmd.RunCommand acCmdSaveRecord
      Me.Repaint

    Estou postando o arquivo para os senhores analisarem:
    Anexos
    Aplicativo1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (269 Kb) Baixado 25 vez(es)

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5889
    Registrado : 05/11/2009

    Re: [Resolvido]Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  Alexandre Neves em Seg 07 Abr 2014, 23:00

    Olá good guy
    Realmente, não me apercebi que estava a repetir a resposta
    Estou a tentar adaptar daqui (http://support.microsoft.com/default.aspx?scid=KB;en-us;q103257) mas ainda não consegui e não tenho tempo para continuar hoje a tentar


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3236
    Registrado : 20/04/2011

    Re: [Resolvido]Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  Silvio em Ter 08 Abr 2014, 11:43

    Bom dia a todos, saúde e paz !

    Good, eu acho que seria mais ou menos isso.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    Jungli
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 629
    Registrado : 07/05/2010

    Re: [Resolvido]Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  Jungli em Ter 08 Abr 2014, 15:00

    Bom dia, Wink

    vejamos se assim dá certo,
    Anexos
    Aplicativo1_god_old.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (310 Kb) Baixado 65 vez(es)

    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 920
    Registrado : 05/02/2010

    Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  good guy em Ter 08 Abr 2014, 18:28

    Olá amigos,

    Gostei das duas soluções. Vou ter que fazer alguns testes para saber qual é a melhor solução no meu projeto. Estão de parabéns tanto o Silvio quanto o Jungli. Diante dos códigos apresentados vejo o quanto tenho que aprender ainda. Obrigado !!!

    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 920
    Registrado : 05/02/2010

    Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  good guy em Ter 08 Abr 2014, 19:27

    Olá Jungli,

    Ao testar sua solução, verifiquei que ao colar uma figura (.bmp) e depois de inseri-la, quando volto a visualizá-la não é a mesma, mas uma figura padrão de sem imagem (X). Pode verificar?

    Jungli
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 629
    Registrado : 07/05/2010

    Re: [Resolvido]Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  Jungli em Ter 08 Abr 2014, 19:40

    Boas Mestre God, Wink

    Atualize a sua cópia do db por favor.

    Código:
    Private Sub cmdLogo_Click()
        'On Error Resume Next
        Dim sImagem As String
        Dim strSQL As String
        '// Pega o nome do arquivo
            strCaminho = CurrentProject.Path & "\1050.bmp"
        '// Abre a imagem no formulário e popula na tabela
        If IsNull(Me.cxImagem.Value) Then
                If Len(strCaminho) > 0 Then
                    Me.cxImagem.Class = "Paint.Picture"
                    Me.cxImagem.OLETypeAllowed = acOLEEmbedded
                    Me.cxImagem.SourceDoc = Trim(strCaminho)
                    Me.cxImagem.Action = acOLECreateEmbed
                    '// Cria o recordset
                        Dim rst As DAO.Recordset
                        Set rst = CurrentDb.OpenRecordset("tblImagem")
                    '// Atualiza o formulário
                        Me.Recalc
                    '// Popula o recordset
                        rst.AddNew
                        rst.Fields("Imagem").Value = Me.cxImagem.Value
                        rst.Update
                    '// Fecha o recordset e limpa a memória
                        Set rst = Nothing: Close
                End If
        Else
                    Me.cxImagem.Class = "Paint.Picture"
                    Me.cxImagem.OLETypeAllowed = acOLEEmbedded
                    '// Abre o recordset
                        Set rst = CurrentDb.OpenRecordset("tblImagem")
                    '// Atualiza o formulário
                        Me.Recalc
                    '// Popula o recordset
                        rst.AddNew
                        rst.Fields("Imagem").Value = Me.cxImagem.Value
                        rst.Update
                    '// Fecha o recordset e limpa a memória
                        Set rst = Nothing: Close
        End If
    End Sub

    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 920
    Registrado : 05/02/2010

    Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  good guy em Ter 08 Abr 2014, 20:16

    OK Jungli,

    Agora funfou.

    Obrigadão !!!

    P.S.: Por favor, altere meu nome de God(Deus) para Good (Legal). Deus só há um. É Ele, o Criador, que nos capacita a todos nós.

    Jungli
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 629
    Registrado : 07/05/2010

    Re: [Resolvido]Salvar uma imagem (.bmp) na tabela via VBA

    Mensagem  Jungli em Ter 08 Abr 2014, 21:09

    Ok Goog guy...


      Data/hora atual: Qui 08 Dez 2016, 23:57