3 maneiras fáceis de inserir imagem no banco de dados do Access

Resumo:

O tópico do tutorial de hoje é sobre como exibir imagem no formulário de banco de dados do MS Access, tabela. Através deste post, você pode explorar diferentes maneiras de inserir imagens no banco de dados do Access.

O Microsoft Access pode armazenar imagens?

Sim, você pode armazenar imagens no banco de dados do Access. Bem, essa tarefa é possível usando anexos que armazenam vários tipos de arquivos em um único campo.

Suponha que você tenha criado um banco de dados de contatos de trabalho. Ao usar os anexos, você pode anexar um ou mais currículos para o registro de cada contato e também pode adicionar uma foto da inserção ao contato.

As versões anteriores do banco de dados MS Access utilizam uma tecnologia conhecida como OLE (Object Linking and Embedding) para armazenar documentos e imagens. Por padrão, para cada imagem e documento, o OLE gera um bitmap.

Esses arquivos de bitmap são bastante grandes em tamanho aprox. 10 vezes maior que o arquivo original. quando o usuário exibe sua imagem e documento do banco de dados, o OLE exibe apenas o bitmap e não o original. Além disso, o OLE precisa de programas conhecidos como servidores OLE para funcionar.

Por outro lado, os anexos do MS Access armazenam o arquivo anexado em seus formatos nativos. Portanto, você não precisa instalar nenhum software adicional para ver imagens no seu banco de dados.

Quais são as técnicas para lidar com a imagem no banco de dados do Access?

Essa é uma das perguntas mais comuns sobre inserção de imagem no banco de dados do Access. Bem, existem muitas maneiras ou técnicas para adicionar imagem no banco de dados do Access. então, vamos discuti-los um por um.

  1. No campo OLE, armazene a imagem que deseja inserir. Depois disso, para a exibição da imagem, basta usar o quadro do objeto encadernado.
  2. Armazene o caminho da imagem no campo de texto e, para mostrar a imagem, use o controle de imagem.
  3. Outra maneira é armazenar a imagem no bitmap de objeto grande binário (BLOB) em um campo OLE. Sempre que você precisar, extraia a imagem desejada e use o controle de imagem para facilitar a visualização da imagem.

Toda a técnica mencionada aqui para inserir imagem no banco de dados do Access também possui algumas vantagens e desvantagens. Então, vamos discuti-los em detalhes.

Como inserir imagem na tabela de banco de dados do MS Access através de anexos

Para usar anexos no banco de dados do Access, você precisa primeiro adicionar um campo de anexo em pelo menos uma única tabela do banco de dados. O MS Access fornece duas maneiras de adicionar esses campos de anexo na tabela do banco de dados. Você pode adicionar campos de anexo no modo de folha de dados ou no modo de design. Aqui, estamos tentando isso com o modo de folha de dados.

Adicionar um campo de anexo no modo de folha de dados

  1. Abra sua tabela de banco de dados de acesso no modo Folha de Dados e toque na primeira coluna em branco disponível. Não é tão difícil buscar uma coluna em branco, basta procurar as palavras “Adicionar novo campo” no cabeçalho da coluna.
  2. Agora, na guia Folha de dados, no grupo Tipo e formatação de dados, toque na seta para baixo presente ao lado de Tipo de dados. Depois, toque no Anexo

Para o campo de anexo, o Access definirá o tipo de dados. Coloque também um ícone na linha do cabeçalho do campo. A figura mostrada é do novo campo Anexo. Você pode ver um ícone de clipe de papel na linha de cabeçalho do campo. Você não tem permissão para inserir texto na linha do cabeçalho do campo de anexo.

Adicionar um campo de anexo no modo de folha de dados

  1. É hora de salvar todas as alterações que você fez.

Nota:

Você não tem permissão para converter nenhum novo campo em outro tipo de dados. mas se ocorrer algum erro, você poderá excluir o campo.

Adicionar um anexo a uma tabela

  1. Na tabela com o campo de anexo aberto na visualização da folha de dados. Faça um toque duplo no campo de anexo.

Isso abrirá a caixa de diálogo Anexos, como mostra a figura abaixo:

Adicionar um anexo a uma tabela

  1. Agora clique na opção Adicionar depois de clicar na opção Adicionar, a caixa de diálogo Escolher arquivo é exibida.
  2. Utilize a lista Examinar para procurar os arquivos que você precisa inserir no seu registro. Depois de fazer a seleção do arquivo, toque na opção Abrir.
  3. Agora, na caixa de diálogo Anexos, toque na opção OK para adicionar os arquivos à sua tabela.

O Access adiciona arquivos ao campo e aumenta o número de anexos de acordo com isso. A figura abaixo mostra o campo com duas imagens anexadas:

Adicionar um anexo a uma tabela 2

  1. Repita a mesma etapa sempre que precisar adicionar arquivos ao campo atual ou a qualquer outro campo da tabela do Access.

Como inserir imagem no Access usando campos de objeto OLE

O objeto OLE é um desses tipos de dados que ajuda a salvar facilmente os arquivos gerados por outros programas, como planilhas do Excel, documentos ou gráficos do Word. Esta seção fornece a idéia de como trabalhar com os campos de objeto OLE.

Etapas para inserir imagem no Access usando campos de objeto OLE

Aqui, estamos usando o nome da tabela tblEmployees e o nome do formulário frmEmployees que foram criados anteriormente.

  1. Escolha a tabela tblEmployees depois toque no botão Design.

Agora insira o campo OLE nessa tabela tblEmployees.

  1. Toque na linha Nome do campo em branco encontrada pela primeira vez e digite o texto “Foto”. Clique na lista de setas que contém o Tipo de dados. Em seguida, na lista de tipos de dados, escolha o objeto OLE.

Ótimo trabalho, seu campo Objeto OLE é criado agora ..!

  1. Agora salve todas as alterações. Para visualizar a tabela na visualização da folha de dados, clique no botão Exibir da barra de ferramentas.

Agora, estamos adicionando algum objeto OLE ao registro de Maria Wyatt.

  1. Toque em qualquer um dos campos para selecionar Maria Wyatt e depois role na seção direita. Toque no campo Foto para acessar o registro Maria Wyatt e escolha a opção Inserir »Objeto no menu.

Isso abrirá a caixa de diálogo “Inserir objeto” na tela.

Para criar e inserir qualquer novo objeto, selecione a opção “Criar novo”. Fora isso, basta clicar na opção “Criar a partir arquivo ” para inserir um arquivo já existente.

inserir imagem no Access usando campos de objeto OLE

  1. Aqui nós escolhemos a opção ” Criar a partir arquivo”. Então, depois de escolher, você precisa atribuir o nome e o destino do arquivo que você precisa inserir.

inserir imagem no Access usando campos de objeto OLE 2

  1. Agora toque na opção Procurar. Depois de pressionar esta opção, faça a seleção do arquivo de imagem que você precisa inserir no seu documento.
  2. Depois de obtê-lo, clique duas vezes nele, por exemplo: arquivo Maria.bmp.

No lado do botão “navegar”, você pode ver a caixa de seleção “Link”. Esta caixa de seleção serve para determinar se esse objeto OLE, apenas vinculado ao banco de dados do Access ou realmente incorporado ao banco de dados.

inserir imagem no Access usando campos de objeto OLE 3

Aqui deixamos essa caixa de seleção desmarcada, pois desejamos incorporar gráficos no banco de dados.

  1. Após concluir o procedimento, toque na opção OK. Isso fechará a caixa de diálogo aberta e o acesso incorporará a imagem Maria.bmp no campo Foto.

Mas o problema ocorre com esses campos de objeto OLE, é que ele não mostra os objetos OLE nativos. Essa é a razão pela qual você precisa usar o formulário com os campos de objeto OLE para funcionar sem problemas.

  1. Agora feche o nome da tabela tblEmployees. Toque no ícone Formulários presente na barra Objetos. Clique no formulário frmEmployees. Depois, toque na opção Design.

Agora você precisa adicionar um novo campo de foto ao seu formulário frmEmployees.

  1. Depois toque no botão Field List presente na barra de ferramentas. Você pode selecionar e arrastar o campo Foto em qualquer lugar do formulário do banco de dados do Access.

Fora isso, você pode exibir a lista de campos para escolher a visualização >> Lista de campos presente no menu.

Você não precisa se preocupar com a posição para colocar o campo Foto do objeto OLE. Como, usando qualquer controle de formulário, o usuário pode facilmente redimensionar e mover os campos de objeto OLE.

Vamos ver como esse campo Foto aparece na exibição de formulário.

  1. Clique na opção View na barra de ferramentas para mudar para a visualização Form. Toque na opção Navegação do próximo registro até e a menos que você obtenha o registro da Maria.

Sim, ótimo trabalho aqui é a sua imagem inserida!

inserir imagem no Access usando campos de objeto OLE 4

Como inserir imagem no Access pelo código VBA

No banco de dados do Access, crie um campo Memorando para armazenar a imagem. use o código a seguir para inserir imagem no banco de dados do Access usando o código VBA:

Dim FN As Long

Dim FB

FN = FreeFile

Open “C:\Pict1.bmp” For Binary Access Read As FN

FileBinary = Space(LOF(FN))

Get #FN, , FB

Close #FN

‘Open RecordSet RS

rs.AddNew

rs(“ImgName”) = “Picture1”

rs(“ImgMem”) = FB

rs.Update

Para recuperar o arquivo de imagem do Access:

Dim MPict

Dim FN As Long

‘Place an Image Control(Image1) on the Form

‘Open Recordset RS here

MPict = RS(“ImgMem”)

If Dir(“C:\Temp.bmp”) <> “” Then

Kill “C:\Temp.bmp”

End If

FN = FreeFile

Open “C:\Temp.bmp” For Binary Access Write As #FN

Put #FN, , MPict

Close #FN

Image1.Picture = LoadPicture(“C:\Temp.bmp”)

Inserir imagem na tabela MS Access / SQL usando Java

Você também pode inserir imagem na tabela MS Access / SQL usando o programa Java. Para isso, você precisa criar uma tabela no banco de dados do Access. Faça como mostrado abaixo:

Definições da tabela:

Nome da tabela: : Img[InsertPicture.mdb]
Chave primária: : nulo
Chave estrangeira: : nulo

Definição da coluna:

Nome da coluna  Tipo de dados
ID AutoNumber
de imagens Objeto OLE

Descrição da tabela:

Nome da coluna Descrição
ID Criar Numeração Automática para o ID da imagem
Imagem Tipo de imagem “Objeto OLE”

Depois de criar a tabela, agora é hora de criar o DSN. Utilize o seguinte código-fonte do InsertPicture.java.

*/

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

public class InsertPicture

{

        public static void main(String[] args) throws Exception, IOException

        {

                Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

                String url=”jdbc:odbc:MyDsn”;

                Connection conn=DriverManager.getConnection(url);

                String INSERT_PICTURE = “insert into Img(ID,Image) values (?, ?)”;

                FileInputStream fis = null;

                PreparedStatement ps = null;

                try

                {

                        conn.setAutoCommit(false);

                        File file = new File(“laura.jpg”);

                        fis = new FileInputStream(file);

                        ps = conn.prepareStatement(INSERT_PICTURE);

                        ps.setString(1, “001”);

                        ps.setBinaryStream(2, fis, (int) file.length());

                        ps.executeUpdate();

                        conn.commit();

                }

                finally

                {

                        ps.close();

                        fis.close();

                }

        }

}

Depois, compile o código acima usando o compilador javac. No final, execute o programa.

C: \ jdk1.4 \ bin javac InsertPicture.java

C: \ jdk1.4 \ bin java InsertPicture

agora você verá que o código acima funciona muito bem para inserir uma imagem de nome “laura.jpg” na tabela img.

Problemas associados à inserção de imagem no banco de dados do Access

Às vezes, não é tão fácil inserir imagens na tabela do Microsoft Access. Se você estiver inserindo várias imagens ou se o tamanho do arquivo for muito maior, o problema automaticamente será “Acesso ao banco de dados muito grande”. Para resolver esse problema, basta usar a ferramenta utilitária incorporada do Access, compacta e reparada. Caso contrário, muito em breve, seu banco de dados ficará corrompido.

Em algum momento, o usuário também processa um problema no qual seus formulários e relatórios do Access não mostram imagens. Para isso, verifique o seguinte post: Como corrigir formulários de Access e relatórios que não mostram problemas de imagem

Infelizmente, se você já está lidando com esse problema de corrupção de banco de dados do Access. Para recuperar seus dados cruciais, use uma excelente Access reparação e recuperação ferramenta. É a solução mais importante disponível para corrigir qualquer problema de corrupção ocorrido no arquivo de banco de dados Access accdb e mdb.

Embrulhar:

Tente todos os truques mencionados acima para inserir imagens no banco de dados do Access com cuidado. Se você ficar preso em qualquer uma das situações mencionadas acima, tente a solução mencionada lá. Além do problema mencionado, se você estiver tendo outro problema no seu banco de dados de acesso, compartilhe-o conosco na nossa seção de Perguntas frequentes. Vamos tentar consertar o mais rápido possível.

Ainda está com problemas? Corrija-os com Stellar reparação para Access:

Este software garante sem costura reparo e recuperação do banco de dados ACCDB e MDB. Ele restaura todos os objetos, incluindo tabelas, relatórios, consultas, registros, formulários e índices, juntamente com módulos, macros, etc. Corrija os problemas do Microsoft Access agora em 3 etapas fáceis:

  1. Baixar Stellar Access banco de dados reparo ferramenta avaliado Excelente sobre Cnet.
  2. Clique nas opções Browse e Pesquisa para localizar um banco de dados corrompido do Access.
  3. Clique no botão Reparar para reparar e pré-visualização os objetos do banco de dados.

Pearson Willey é escritor de conteúdo de sites e longo- planejador de conteúdo do formulário. Além disso, ele também é um ávido leitor. Assim, ele sabe muito bem como escrever um conteúdo atraente para os leitores. Escrever é como uma vantagem crescente para ele. Ele adora explorar seu conhecimento no MS Access e compartilhar blogs de tecnologia.