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:
O objetivo deste tutorial é continuar o desenvolvimento do sistema agendaconsulta, nesta tutorial iremos crdesenvolvero banco de dados para armazenar os registros, para isso vamos utilizar a segundaplanilha, também iremos codificar o formulário Paciente. Tudo de forma simplese direta, através de telas.
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, Parte3 e Parte 4 deste tutorial.
Começaremos desenvolvendoo banco de dados, utilizaremos a plan2, modifique o nome da mesma para “PACIENTE”, depois iremosinserir os seguintes campos:
COD, NOME, TELEFONE, EMAIL.
Tela 001
Feito isso, iremos inserir na primeira linha uma cor cinzae negrito, assim ficara destacado como cabeçalho.
Tela 002
Agora iremos fazer a formatação dos campos.
COD colocarna categoria “número”.
Tela 003
O procedimento para formatação dos demaiscampos é quase a mesma, então irei apenas informar como deve ser a formatçãodos demais campos, não havendo necessidade de mostrar em telas.
NOME e EMAIL inserir na categoria “texto”.
TELEFONE para categoria “ Especial,Telefone”.
Terminado a criação do banco, bem como ajustados oscampos, vamos passar para a codificação do formulário “paciente”.Insira o código abaixo dentro formulário, no eventoinitialize.
Me.N = Application.WorksheetFunction.CountA(Plan2.Columns(1))– 1
Tela 004
Codificaremos agora os botões, devendo ser inserido ocodigo abaixo sempre dentro do evento clic do botão.
BotãoCadastrar:
Dim bd As Database
Dim Rs As Recordset
Set bd = OpenDatabase(ThisWorkbook.Path& "\" & ThisWorkbook.Name, False, False, "excel8.0")
Set Rs =bd.OpenRecordset("PACIENTE$", dbOpenDynaset)
If Me.Text_cod > Me.NThen
If Me.TextBox_nome ="" Then
Me.TextBox_nome.Text ="-"
End If
If Me.TextBox_telefone.Text= "" Then
Me.TextBox_telefone.Text = "-"
End If
If Me.TextBox_email.Text ="" Then
Me.TextBox_email.Text ="-"
End If
Dim CADASTRO(1 To 5)
CADASTRO(1) = UCase(Me.Text_cod)
CADASTRO(2) = UCase(Me.TextBox_nome)
CADASTRO(3) =UCase(Me.TextBox_telefone)
CADASTRO(4) = UCase(Me.TextBox_email)
CADASTRO(5) = UCase(Me.Text_cod.Value)
Dim Consulta As Object
Dim L, i
Set Consulta = Plan2.Cells(1,1).CurrentRegion
L = Consulta.Rows.Count + 1
If Len(Me.Text_cod) = 0Then
MsgBox"VOCÊ NÃO DIGITOU NENHUM NOME PARA INCLUSÃO", vbCritical,"CADASTRO DE CIDADES E ESTADOS"
Else
For i = 1 To 5
Plan2.Cells(L,i).Value = Trim(CADASTRO(i))
Next i
Me.Text_cod =""
Me.TextBox_nome = ""
Me.TextBox_telefone.Text = ""
Me.TextBox_email.Text = ""
MsgBox"CADASTRO", vbInformation, "EFETUADO COM SUCESSO"
ThisWorkbook.Save
End If
Exit Sub
Else
MsgBox"No campo CODIGO digite um número maior do que há no campo registro nobanco 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("PACIENTE$", dbOpenDynaset)
LIN = 2
Do Until Rs.EOF
If Rs("NOME") =Me.TextBox_nome.Text Then
Me.Text_cod =Rs.Fields("COD")
Me.TextBox_nome = Rs.Fields("NOME")
Me.TextBox_telefone = Rs.Fields("TELEFONE")
Me.TextBox_email =Rs.Fields("EMAIL")
Me.TextBox_codf.Text = LIN
End If
LIN = LIN + 1
Rs.MoveNext
Loop
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("PACIENTE$", dbOpenDynaset)
Rs.Edit
Rs("NOME") = Me.TextBox_nome
Rs("TELEFONE") = Me.TextBox_telefone
Rs("EMAIL") = Me.TextBox_email
Rs.Update
MsgBox"DADO ALTERADOS COM SUCESSO", vbInformation, "BANCO DEDADOS"
ThisWorkbook.Save
Botão Apagar:
Dim Consulta
Consulta = MsgBox("DESEJAREALMENTE EXCLUIR OS DADOS?", vbYesNo + vbQuestion, "BANCO DEDADOS")
If Consulta = vbYes Then
Plan2.Cells(Me.TextBox_codf,1).EntireRow.Delete
Me.Text_cod =""
Me.TextBox_nome = ""
Me.TextBox_telefone.Text = ""
Me.TextBox_email.Text = ""
MsgBox "DADOS EXCLUÍDO COMSUCESSO."
ThisWorkbook.Save
End If
Botão Voltar:
Me.hide
Neste tutorial ensinei a desenvolver o banco de dados para o sistema, definindo as formatações necessárias paracada campo. Codificamos também oformulário “paciente”, inserindo os códigos, tudo de forma simples, e objetiva mostrando através de telas para melhor entendimento. Na próxima parte dotutorial daremos continuidade no desenlvovimento do sistema. 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