Inclusão de imagens em campo do tipo OLE, com extensão em accdr
Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 5x no Cartão de Crédito.
Veja como comprar e saiba mais sobre o material oferecido, clicando aqui.
Usuário João:
Boa noite.
Tenho um formulário que possui um campo do tipo "Objeto OLE", onde insiro fotos. Normalmente faço recorte de telas, usando a ferramenta do One Note e colo diretamente dentro do campo, usando Ctr+V. Isso atende perfeitamente os meus objetivos. As fotos são exibidas corretamente, tanto em formulários quanto em relatórios. Porém, estou com os seguintes problemas:
Problema 1 - O Banco de Dados está ficando muito grande, rapidamente, e em uma semana aumentou mais de 100 MB. Sei que se continuar assim, em pouco tempo, o meu banco de dados vai travar. Para evitar isso tenho apagado as fotos mais antigas. (Tenho que fazer relatório diário de visita em obras, gerando pelo menos umas 30 fotos novas por dia). Só que eu não queria apagar as fotos, pois justamente o objetivo foi o de ter um acompanhamento fotográfico do início ao fim da obra. Tentei, ao invés de colar as fotos, fazer os vínculos, só que daí as fotos não aparecem nem nos formulários e nem nos relatórios; só conseguindo visualizá-las dando duplo clique dentro do campo, no que é aberto o visualizador de imagens do Windows. Gostaria de fazer os vínculos, mas que também elas aparecessem nos formulários e relatórios. Como faço isso?
Problema 2 - O Banco de Dados roda para os outros usuários no formato accdr e neste formato não é habilitado o botão direito do mouse, impedindo que se insira um objeto através de vínculo, pois para isso é preciso clicar com o botão direito. Só consigo inserir recortando tela e colando. Pensei em colocar um botão para abrir o ecrã de busca de arquivo, mas eu não descobri qual é o comando que tenho que usar.
Pode me ajudar?
Obrigado.
Suporte:
João,
1- Você pode vincular as suas imagens a um Controle Quadro de Imagens (formulário ou relatório), utilizando o comando PICTURE . Veja o exemplo de uso do Picture neste meu artigo:
Como vincular imagens PNG em botões
2- Crie um botão e use o seguinte comando:
me!SeuCampoOle.Action = 14
Nota: você também pode criar um Menu de Atalho personalizado, chamando por este comando acima. Veja como criar Menus de Atalho neste meu artigo:
Criar Menus de Atalho com Macros ou com o VBA
Usuário João:
Olá, Avelino!
Muito obrigado pela pronta resposta.
Só que infelizmente sou ainda novato em termos de programação. Li os seus artigos e tentei aplicar, mas não consegui.
Fiz diversas simulações, mas acho que me falta um pouco de base para utilização dos códigos. Ou não soube me expressar direito.
Esqueci também de mencionar a versão do Microsoft Access que utilizo: 2013 de 32 bits.
Para facilitar, anexei desta vez um modelo do que preciso. As explicações estão no histórico de cada foto (registro 1 e registro 2).
Agradeceria muito se você puder me orientar, através do exemplo que anexei.
Obrigado.
Suporte:
João,
segue o exemplo modificado.
O exemplo tem três formas de se trabalhar com imagem:
- usando o campo OLE;
- campo do tipo Anexo;
- vinculando imagens (uso do Picture).
A vantagem do campo tipo anexo, sobre o campo tipo OLE, é que ele aceita diversas extensões de imagens (GIF, BMP, JPG, ...). O campo tipo anexo compacta as imagens, além de você poder armazenar mais de uma imagem. A desvantagem continua sendo o tamanho do seu BD, que irá crescer bastante. O melhor de todos, para um projeto como o seu, é o armazenamento das imagens em uma pasta e então realizar o vinculação destas imagens com o comando Picture.
- | O exemplo tem três formulários. Um formulário para cada tipo (OLE, anexo e vinculada); |
- | para o exemplo OLE, inseri o Menu de Atalho, para você ter a opção com o botão da direita do mouse. Inseri também, um botão como alternativa; |
- | desloquei as imagens para a pasta Fotos; |
- | o código copia a imagem para a pasta fotos e grava a origem desta imagem. Assim você terá acesso a pasta da obra pelo botão; |
- | inclui o botão Excluir Foto. |
Usuário João:
Avelino,
Nem sei como te agradecer. Ficou perfeito!
Era isso mesmo que eu tinha em mente.
Como eu te falei, ontem já comecei a configurar o meu BD conforme suas orientações iniciais e ficou ótimo.
Agora com estas novas modificações vai ficar melhor ainda.
Olha, eu detesto pegar o peixe pronto. Prefiro, sempre que possível, aprender a pescar. Mas confesso que olhei o código que você criou e não saberia nem como começar. Eu uso as macros com facilidade, mas os códigos para mim, ainda são meio nebulosos.
Faz tempo que eu olho as suas apostilas de VB, lá do seu pacote Usando Access, mas até agora, não tive condições de me dedicar. Mas um dia chego lá!
Valeu mesmo! Obrigado!
Download
Não há comentário |