NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!
UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI
Objetivo:
Continuar o desenvolvimento dosistema, criando neste tutorial o bancode dados para armazenar registros etambém iremos codificar o formulário Cadastro_cliente, tudo de forma simples edireta.
Pré-requisito:
Para você poder acompanhar odesenvolvimento deste tutorial, será necessário ter conhecimento no mínimo do “CursoBásico de Excel e os Tutoriais Utilizando Editor do Visual Basic do Excel Parte1 e Parte2” Parte 1, Parte 2 e Parte 3 deste tutorial.
Para a criação deste banco dedados vamos utilizar a própria planilha do excel, modifique o nome Plan para a“CLIENTE”, depois vamos colocar os nomes dos campos na planilha conforme relação abaixo.
COD, NOME, ENDERECO, BAIRRO, CIDADE, ESTADO, CEP, TELEFONE.
Tela 001
Selecione toda a linha e insira uma cor cinza, negrito e centralizado oscampos.
Tela 002
Você deve fazer a formatação dos campos conforme descrição abaixo.
COD colocar na categoria “número”.
Tela 003
Mostrei apenas a primeiraformatção com telas, o restante dos campos devem ser formatados da seguintemaneira:
NOME, ENDERECO, BAIRRO, CIDADEe ESTADO inserir na categoria “texto”.
CEP inserir na categoria “especial”.
TELEFONE inserir na categoria “especial”.
Após você ter terminado odesenvolvimento do banco de dados, vamos codificar o sistema, dentro do evento initialize no formulário insira ocódigo.
Label_n =Application.WorksheetFunction.CountA(Plan1.Columns(1)) – 1
Tela 004
Agora continuaremos inserindo o restante dos códigos nos botões, sempre dentro do evento clic.
BotãoCadastrar:
Dim bd As Database
Dim Rs As Recordset
Set bd =OpenDatabase(ThisWorkbook.Path & "\" & ThisWorkbook.Name,False, False, "excel 8.0")
Set Rs =bd.OpenRecordset("CLIENTE$", dbOpenDynaset)
If Me.cod > Me.Label_nThen
If Me.nome = "" Then
Me.nome.Text = "-"
End If
If Me.endereco = "" Then
Me.endereco.Text ="-"
End If
If Me.bairro = "" Then
Me.nome.Text = "-"
End If
If Me.Combo_cidade = ""Then
Me.Combo_cidade.Text ="-"
End If
If Me.Combo_estado = ""Then
Me.Combo_estado.Text ="-"
End If
If Me.cep = "" Then
Me.cep.Text = "-"
End If
If Me.Telefone = "" Then
Me.Telefone.Text ="-"
End If
DimCADASTRO(1 To 9)
CADASTRO(1) = UCase(Me.cod)
CADASTRO(2) = UCase(Me.nome)
CADASTRO(3) = UCase(Me.endereco)
CADASTRO(4) = UCase(Me.bairro)
CADASTRO(5) = UCase(Me.Combo_cidade)
CADASTRO(6) = UCase(Me.Combo_estado)
CADASTRO(7) = UCase(Me.cep)
CADASTRO(8) = UCase(Me.Telefone)
CADASTRO(9) = UCase(Me.cod.Value)
Dim ALUGUEL AsObject
Dim L, i
Set ALUGUEL = Plan1.Cells(1, 1).CurrentRegion
L = ALUGUEL.Rows.Count + 1
If Len(Me.cod) = 0 Then
MsgBox "VOCÊ NÃO DIGITOU NENHUM NOME PARA INCLUSÃO",vbCritical, "CADASTRO DE CLIENTES"
Else
For i = 1 To 9
Plan1.Cells(L, i).Value = Trim(CADASTRO(i))
Next i
Me.cod.Text = ""
Me.nome.Text = ""
Me.endereco.Text = ""
Me.bairro.Text = ""
Me.nome.Text = ""
Me.Combo_cidade.Text =""
Me.Combo_estado.Text = ""
Me.cep.Text = ""
Me.Telefone.Text = ""
MsgBox"CADASTRADO", vbInformation, "EFETUADO COM SUCESSO"
ThisWorkbook.Save
End If
Exit Sub
Else
MsgBox "No campo CODIGO digite um número maior do quehá no campo Total Registro para casdastrar."
End If
Universidade do VBA - Curso Completo, com Certificado e com Atualizações Semanais
Domine, sem Dificuldades, a Programação VBA no Excel, Através da Criação de Sistemas Profissionais Completos - Com Exemplos Práticos e Explicações Detalhadas - Passo a Passo - Tela a Tela - Comando a Comando!
Aplica-se ao Excel 2019, 2016, 2013 e 2010!
Para todos os detalhes, acesse:
Tela 005
BotãoPesquisar:
Dim bd As Database
Dim Rs As Recordset
Dim LIN
Set bd =OpenDatabase(ThisWorkbook.Path & "\" & ThisWorkbook.Name,False, False, "excel 8.0")
Set Rs =bd.OpenRecordset("CLIENTE$", dbOpenDynaset)
LIN = 2
Do Until Rs.EOF
If Rs("NOME") =Me.nome.Text Then
Me.cod =Rs.Fields("COD")
Me.nome = Rs.Fields("NOME")
Me.endereco = Rs.Fields("ENDERECO")
Me.bairro = Rs.Fields("BAIRRO")
Me.Combo_cidade = Rs.Fields("CIDADE")
Me.Combo_estado = Rs.Fields("ESTADO")
Me.cep =Rs.Fields("CEP")
Me.Telefone = Rs.Fields("TELEFONE")
Me.TextBox_codf.Text = LIN
End If
LIN = LIN + 1
Rs.MoveNext
Loop
Tela 006
Botão Editar:
Dim bd As Database
Dim Rs As Recordset
Set bd =OpenDatabase(ThisWorkbook.Path & "\" & ThisWorkbook.Name,False, False, "excel 8.0")
Set Rs =bd.OpenRecordset("CLIENTE$", dbOpenDynaset)
Rs.edit
Rs("NOME") = Me.nome
Rs("ENDERECO") = Me.endereco
Rs("BAIRRO") = Me.bairro
Rs("CEP") = Me.cep
Rs("TELEFONE") = Me.Telefone
Rs.Update
MsgBox "DADOS DO CLIENTE ALTERADOS COM SUCESSO", vbInformation,"BANCO DE DADOS"
ThisWorkbook.Save
Tela 007
Botão Apagar:
Dim ALUGUEL
ALUGUEL =MsgBox("DESEJA REALMENTE EXCLUIR O CLIENTE?", vbYesNo + vbQuestion,"BANCO DE DADOS")
If ALUGUEL = vbYes Then
Plan1.Cells(Me.TextBox_codf,1).EntireRow.Delete
Me.nome.Text = ""
Me.endereco.Text = ""
Me.bairro.Text = ""
Me.nome.Text = ""
Me.Combo_cidade.Text =""
Me.Combo_estado.Text = ""
Me.cep.Text = ""
Me.Telefone.Text = ""
Me.cod.Text = ""
MsgBox"REGISTROS EXCLUÍDO COM SUCESSO."
ThisWorkbook.Save
End If
Tela 008
Botão Voltar:
Me.hide
Tela 009
Neste tutorial ensinei a desenvolver o banco de dados para armazenar registros, fazer as formatações necessáriaspara os campo, codificar interface “cadastro_cliente”, tudo de forma simples eobjetiva mostrado através de telas. Napróxima parte do tutorial daremos continuidade no desenlvovimento do aplicativo.Bons estudos e até a próxima parte.
Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434
Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208
Todos os direitos reservados, Júlio Battisti 2001-2025 ®
LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO
DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI