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=" & 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.
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=" & 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=" & 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=" & 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=" & 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.
- Criar, Conectar, Gravar dados do VBA para BD Access
- Alterar e Excluir dados do Access pelo vba
- Pesquisar Pelo BD Access no VBA
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.