Microsoft Access 2016 – alterar e excluir dados do Access

Microsoft Access 2016. Você já aprendeu a editar e excluir dados do Banco de Dados do  Access (Microsoft Access) diretamente pelo VBA?

Microsoft Access 2016. Nesse artigo vamos mostrar como realizar esse método diretamente do VBA. Estamos dando continuação ao nosso artigo anterior, nele abordamos o seguinte tema: Registrar dados do VBA Excel no Access

Aprendemos a conectar e gravar dados no access, e também algumas observações básicas sobre a conexão. Recomendamos para quem ainda não leu, que leia o artigo anterior antes de continuar nesse aqui.

Lembrando que se houver duvidas a respeito dos artigos, aqui em baixo temos uma seção de comentários. Não se esqueça de compartilhar esse post, pois estará atribuindo grande força para nosso canal.

Esse post seguirá uma serie de tópicos sobre Excel e access, neles vamos aprender:

  • Criar, Conectar, Gravar dados do VBA para BD Access
  • Alterar e Excluir dados do Access pelo VBA
  • Pesquisar Pelo BD Access no VBA


Microsoft Access 2016 – Alterar e Excluir Dados do Access pelo VBA do Excel

Para efetuar uma exclusão ou alteração no BD access é necessário referenciar o registro desejado. Seria muito simples excluir registros do access pelo comando mostrado a baixo:

<code>ConectDB
db.Execute "DELETE * FROM NomeDaTabela"
FechaDB</code>

Basicamente com esse comando estou “mandando meu programa” excluir todos os registros de minha tabela. Isso de certa forma funciona, mas como faria para excluir um registro especifico do meu BD access?

Segue o código:

<code>ConectDB
rs.Open "Select * From MinhaTabela Where Codigo=" &amp; CodRegistro, db, 3, 3
rs.Delete
rs.Update
FechaDB</code>

O segundo comando apresentando é um pouco diferente, estou dizendo para meu programa o seguinte. “Quero que você selecione todos os registros da minha Tabela, onde o código desse registro for igual meu CodRegistro.” Nesse contexto o CodRegistro seria a variável que armazena o código do item a qual desejo excluir.

Como disse, para excluir o registro do seu BD access é necessário referenciar o código dele (ID). Lembra do artigo anterior, onde fizemos uma observação sobre a coluna que contem a chave primaria do access(Código)?

“Ao definirmos o campo como chave primária, estamos informando ao access que não podem existir dois registros com o mesmo valor no campo que é a chave primária, ou seja, os valores no campo chave primária precisam ser únicos.


Na prática estou garantindo que não possam ser cadastrados dois clientes com o mesmo Código”.

Se defino o campo “Código” da tabela Clientes como do tipo Chave Primária, estou dizendo ao access que não podem existir dois clientes com o mesmo valor no campo “Código”.

Em outras palavras poderíamos dizer que o campo chave primária identifica de maneira única cada registro de uma Tabela, isto é, de posse do valor da chave primária somente localizaremos um registro com aquele valor no campo chave primária.

Banco de Dados

Beleza, mas o que isso tem haver com o que estamos a aprender aqui? Access Microsoft

Microsoft Access 2016. Em termos de usabilidade e lógica de um sistema, é altamente recomendável você ter em seu BD algum tipo de código. É por esse código que iremos fazer toda ação de exclusão e alteração do registro, ele precisa ser único no sistema.


Criei um pequeno mapa improvisado rs, veja se você consegue entender  a estruturá do comando:

Vamos repetir isso em forma de texto por descrito:

  • rs.open “Select * From MinhaTabela

Abra e selecione todos os registros de minha tabela (Clientes)

  • Where Código=” & CodRegistro

Onde o campo Código da tabela seja igual minha variável CodRegistro

Nesse exemplo, minha variável CodRegistro sera representada pelo código que estiver dentro de minha TextBox. O que precisamos fazer para nosso projeto, e criar uma condição em que o programa identifique esse valor e set em nossa variável.

Poderíamos fazer também dessa forma:


Microsoft Access 2016 – Comando para Realizar a Edição dos Registros

Agora que já”começamos entender”a estrutura do nosso comando que irar excluir os registros, vamos mostrar como ficará o código que ira alterar os valores do BD.

<code>ConectDB
rs.Open "Select * From MinhaTabela Where Codigo=" &amp; CodRegistro, db, 3, 3
rs!Código = TextBox1.Text
rs!Nome = TextBox2.Text
rs!Email = TextBox3.Text
rs!Telfone = TextBox4.Text
rs.Update
FechaDB</code>

Espero que até aqui tenha ficado intendido sobre como faremos nosso código. Bem pessoal, chega de teoria vamos para a prática, no mesmo projeto do artigo anterior vamos fazer o seguinte:

Dentro do módulo vamos criar um variável do tipo Long com o nome de CodRegistro. Lembrando que Public para que a variável seja representada por todo o projeto.

Agora vá ao formulário e adicione uma nova textbox assim como na imagem:

Der um duplo clique na textbox representada por código e no seu evento Change digite esse comando:

<code>On Error Resume Next
CodRegistro = TextBox4.Text
ConectDB
rs.Open "Select * From TBcad Where Codigo=" &amp; CodRegistro, db, 3, 3
UserForm1.TextBox1.Text = rs!Nome
UserForm1.TextBox2.Text = rs!Idade
UserForm1.TextBox3.Text = rs!Sexo
rs.MoveNext
FechaDb</code>

Esse comando é uma improvisação que criei para que possamos retorna o registro do BD para as textbox. Estou usando esse meio, porque dessa forma indico para o programa que minha variável irar receber o código digitado na textbox.

Mas devemos observa que existe várias formas de se buscar o código do BD, isso foi apenas um exemplo. Logo vamos  mostrar um meio bem legal de realizar essa tarefá, mas é história para um próximo artigo.


Código em Ação ao Digitar o ID do Cadastro na Textbox

Observe na imagem que ao digitar o código do cliente na textbox (Código), o programa faz conexão com o banco e importa os dados referente aquele registro. Com essa ação agora nós poderemos certar o registro que desejamos alterar.

O próximo passo que você deverá realizar é adicionar um botão e renomear sua propriedade Caption para Alterar. Lembrando que para esse exemplo a propriedade Name dos controles são os padrões do VBA.

Após inserir e ajustar o controle em seu formulário, selecione o botão com um duplo clique. Dentro do evento change do controle você irar digitar o seguinte comando:

<code>CodRegistro = UserForm1.TextBox4.Text
ConectDB
rs.Open "Select * From TBcad Where Codigo=" &amp; CodRegistro, db, 3, 3
rs!Nome = UserForm1.TextBox1.Text
rs!Idade = UserForm1.TextBox2.Text
rs!Sexo = UserForm1.TextBox3.Text
rs.Update
FechaDb
MsgBox "Alterado com Sucesso!"</code>

Esse comando é bem parecido com o procedimento de cadastro a qual aprendemos no artigo anterior. Se você ainda não leu o artigo recomendo que leia antes de prosseguir por esse, clique aqui e leia o artigo anterior.


Para esse procedimento usamos apenas o Update

O código funciona basicamente igual, com poucos detalhes de diferença. Note que precisamos referenciar o registro a qual desejamos alterar no banco de dados. Também é interessante observa que não usamos o AddNew, pois não queremos adicionar o item e sim apenas alterar seu cadastro no banco de dados.

Para excluir o registro você deve fazer dessa forma:

<code>CodRegistro = UserForm1.TextBox4.Text
ConectDB
rs.Open "Select * From TBcad Where Codigo=" &amp; CodRegistro, db, 3, 3
rs.Delete
rs.Update
FechaDb
MsgBox "Excluido com Sucesso!"</code>

E assim fica os comandos de excluir e alterar do vba para access, em breve estarei postando o ultimo tópico. Não se esqueça de baixar o projeto de referencia desse artigo, clique aqui para baixar o projeto.

Planilhas para a gestão do seu negócio em Excel

Gerar orçamento em Excel e salvar em PDF

Planilha simulador de parcelamento em Excel

Como controlar recebimentos em cartões de crédito

A Importância do Fluxo de Caixa nas Empresas

Sistema Controle de Contas a Pagar e Receber

Planilha agenda de contato corporativo em Excel

Planilha para Controlar de Dízimos e Ofertas em Excel

Planilhas em Excel para Abertura de Empresa

Pessoal esse artigo e de autoria do meu parceiro e amigo Welisson Silva do Blog Diário Excel. Visite o Aqui.