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

Você está em: PrincipalArtigosCriando Aplicativos VBA com Excel : Sistemaoficina011
Quer receber novidades e e-books gratuitos?

Sistema para Oficina Mecânica - Banco de Dados Fornecedores - Parte 11

 

Objetivo:

 

O objetivo deste é continuar o desenvolvimento do sistema, vamos desenvolver o banco de dados para armazenar os registros e também  codificar a interface gráfica cadastro de forncedores que criamos no tutorial anterior, tudo de forma simples e objetiva.

 

Pré-requisito:

 

Para você poder acompanhar o desenvolvimento deste tutorial, será necessário ter conhecimento no mínimo do “Curso Básico de Excel e os Tutoriais Utilizando Editor do Visual Basic do Excel Parte 1 e Parte2”  Parte 1,   Parte 2,  Parte 3, Parte 4, Parte 5,  Parte 6, Parte 7,  Parte 8, Parte 9 e Parte 10  deste tutorial.

 

NOTA: A partir deste sistema, irei oferecer serviços de acessoria em desenvolvimento de sistemas em Excel e criação de sites com acesso a banco de dados, portanto, se você quiser adaptar ou criar um sistema conforme sua necessidade, entre em contato comigo através do e-mail: erico_2223@yahoo.com.br.

 

A criação do banco de dados é simples e facil, porém, temos que tomar certos cuidados para evitar os erros.Vamos  utilizar a planilha 4 a qual deve receber o seguite nome  “FORNCEDORES” , os nomes que irão compor a tabela do banco  serão os seguintes:

 

COD, NOME, CGC, IE, ENDERECO, BAIRRO, CIDADE, ESTADO, CEP e TELEFONE.

 

Insira  estes campos na planilha, conforme a tela abaixo.

 

Criando Aplicativos VBA no Excel - Júlio Battisti

Tela 001

 

Estes campo serão o cabeçalho do banco, para isso insira  uma cor cinza escura  em toda a linha  que contém o nome dos campos, devendo coloca-lo também em  negrito e centralizado.

 

Criando Aplicativos VBA no Excel - Júlio Battisti

Tela 002

 

Agora,  iremos formatar os campos conforme segue:

 

COD, CGC, IE   para a categoria números em geral.

 

Criando Aplicativos VBA no Excel - Júlio Battisti

Tela 003

 

NOME, ENDERECO, BAIRRO, CIDADE E e ESTADO para a categoria texto.

 

Criando Aplicativos VBA no Excel - Júlio Battisti

Tela 004

 

CEP  para especial cep:

 

Criando Aplicativos VBA no Excel - Júlio Battisti

Tela 005

 

E por último o campo TELEFONE  para especial telefone.

 

Criando Aplicativos VBA no Excel - Júlio Battisti

Tela 006

 

Acabamos a criação do banco de dados e suas formatações dos campo, começaremos a codificar  a interface gráfica  de cadastro de fornecedores , primeiro o formulário, dentro do mesmo e no evento initialize insira o código, abaixo o mesmo vai mostrar quantos registros existem no banco:

 

Label_N = Application.WorksheetFunction.CountA(Plan4.Columns(1)) - 1

 

Criando Aplicativos VBA no Excel - Júlio Battisti

Tela 007

 


você conhece a universidade do vba?

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!

Tudo Para Você Aprender, na Prática, VBA no Excel!

Para todos os detalhes, acesse:

https://juliobattisti.com.br/curso-vba-excel/


Vamos codificar os botões ,  o código deve ser  inserido no evento c l i c:

 

Botão Cadastrar:

 

Dim bd As Database

Dim Rs As Recordset

 

Set bd = OpenDatabase(ThisWorkbook.Path & "\" &ThisWorkbook.Name, False, False, "excel 8.0")

Set Rs = bd.OpenRecordset("FORNECEDORES$", dbOpenDynaset)

 

If Me.Text_codigo > Me.Label_N Then

 

                If Me.Text_nome ="" Then

                        Me.Text_nome.Text ="-"

                End If

                If Me.Text_cgc.Text = "" Then

                       Me.Text_cgc.Text = "-"

                End If

                If Me.Text_ie.Text = "" Then

                        Me.Text_ie.Text = "-"

                End If

                If Me.Text_endereco.Text = "" Then

                       Me.Text_endereco.Text = "-"

                End If

                If Me.Text_bairro.Text = "" Then

                       Me.Text_bairro.Text = "-"

                End If

                If Me.Combo_cidade.Text = "" Then

                      Me.Combo_cidade.Text = "-"

                End If

                If Me.Combo_estado.Text = "" Then

                       Me.Combo_estado.Text = "-"

                End If

                If Me.Text_cep.Text = "" Then

                       Me.Text_cep.Text = "-"

                End If

                If Me.Text_telefone.Text = "" Then

                       Me.Text_telefone.Text = "-"

                End If

 

                Dim CADASTRO(1 To 11)

                    CADASTRO(1) = UCase(Me.Text_codigo)

                    CADASTRO(2) = UCase(Me.Text_nome)

                    CADASTRO(3) = UCase(Me.Text_cgc)

                    CADASTRO(4) = UCase(Me.Text_ie)

                    CADASTRO(5) = UCase(Me.Text_endereco)

                    CADASTRO(6) = UCase(Me.Text_bairro)

                    CADASTRO(7) = UCase(Me.Combo_cidade)

                    CADASTRO(8) = UCase(Me.Combo_estado)

                    CADASTRO(9) = UCase(Me.Text_cep)

                    CADASTRO(10) = UCase(Me.Text_telefone)

 

                    CADASTRO(11) = UCase(Me.Text_codigo.Value)

 

            Dim OFICINA As Object

            Dim L, i

            Set OFICINA = Plan4.Cells(1, 1).CurrentRegion

            L = OFICINA.Rows.Count + 1

                        If Len(Me.Text_codigo) = 0 Then

                                 MsgBox "VOCÊ NÃO DIGITOU NENHUM NOME PARA INCLUSÃO", vbCritical, "CADASTRO DE CIDADES E ESTADOS"

 

                        Else

 

                                 For i = 1 To 11

                                     Plan4.Cells(L, i).Value = Trim(CADASTRO(i))

                                  Next i

 

                           Me.Text_codigo =""

                          Me.Text_nome = ""

                          Me.Text_cgc.Text = ""

                          Me.Text_ie.Text = ""

                          Me.Text_endereco.Text = ""

                           Me.Text_bairro.Text = ""

                           Me.Combo_cidade.Text = ""

                           Me.Combo_estado.Text = ""

                           Me.Text_cep.Text =""

                          Me.Text_telefone.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 Total Registro No Banco para casdastrar."

 

End If

 

Botão  Pesquisar:

 

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("FORNECEDORES$", dbOpenDynaset)

 

LIN = 2

 

Do Until Rs.EOF

If Rs("NOME") = Me.Text_nome.Text Then

Me.Text_codigo = Rs.Fields("COD")

Me.Text_cgc = Rs.Fields("CGC")

Me.Text_ie = Rs.Fields("IE")

Me.Text_endereco = Rs.Fields("ENDERECO")

Me.Text_bairro = Rs.Fields("BAIRRO")

Me.Combo_cidade = Rs.Fields("CIDADE")

Me.Combo_estado = Rs.Fields("ESTADO")

Me.Text_cep = Rs.Fields("CEP")

Me.Text_telefone = Rs.Fields("TELEFONE")

 

Me.Text_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("FORNECEDORES$", dbOpenDynaset)

 

Rs.EDIT

Rs("NOME") = Me.Text_nome

Rs("CGC") = Me.Text_cgc

Rs("IE") = Me.Text_ie

Rs("ENDERECO") = Me.Text_endereco

Rs("BAIRRO") = Me.Text_bairro

Rs("CIDADE") = Me.Combo_cidade

Rs("ESTADO") = Me.Combo_estado

Rs("CEP") = Me.Text_cep

Rs("TELEFONE") = Me.Text_telefone

 

Rs.Update

 

       MsgBox "DADO ALTERADOS COM SUCESSO", vbInformation, "BANCO DE DADOS"

    ThisWorkbook.Save

 

Botão Apagar:

 

Dim OFICINA

OFICINA = MsgBox("DESEJA REALMENTE EXCLUIR OS DADOS?", vbYesNo + vbQuestion, "BANCO DE DADOS")

If OFICINA = vbYes Then

        Plan4.Cells(Me.Text_codf, 1).EntireRow.Delete

 

                          Me.Text_codigo = ""

                           Me.Text_nome =""

                           Me.Text_cgc.Text = ""

                          Me.Text_ie.Text = ""

                           Me.Text_endereco.Text =""

                          Me.Text_bairro.Text = ""

                           Me.Combo_cidade.Text = ""

                           Me.Combo_estado.Text = ""

                           Me.Text_cep.Text = ""

                           Me.Text_telefone.Text =""

 

        MsgBox "DADOS EXCLUÍDO COM SUCESSO."

    ThisWorkbook.Save

End If

 

Fechar:

 

Me.hide

 

Vamos ainda modificar a propriedade ROW SOURCE dos combo cidade e estado da seguinte forma:

 

Combo_Cidade:

 

CIDADES!B2:B5000

 

Criando Aplicativos VBA no Excel - Júlio Battisti

Tela 008

 

Combo_estado:

 

O procedimento deve ser o mesmo conforme émostrado na tela acima, apenas o código é diferente.

 

CIDADES!C2:C5000

 

Conclusão:

 

Neste tutorial ensinei para você a desenvolver  o banco de dados,  definindo os nomes para os  campos, fazer as formatações dos mesmo, codificar a interface gráfica de cadastro de fornecedores e fazer a interligação dos combo com outro bacno, tudo de forma simples e objetiva, na próxima parte do tutorial daremos continuidade no desenvolvimento do aplicativo. Bons estudos e até a próxima parte.

 


livros e cursos sugeridos sobre excel e vba:
Quer receber novidades e e-books gratuitos?

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-2021 ®

[LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI