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 do sistema para gerenciar um pequeno salão de beleza, vamos desenvolver o banco de dados para armazenar os registros do estoque e também codificaremos a interface empresa, tudo de forma simples e direta.
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, Parte 10 e Parte 11 deste tutorial.
Ola! Pessoal, Para o desenvolvimento deste banco utilizaremos a Plan6, troque o nome da planilha para “ESTOQUE”. Em seguida insira na primeira linha os nomes dos campos abaixo:
COD, DESCRICAO, FORNECEDOR, ESTOQM, ESTOQA, PV e OBS.
Tela 001
Fazeremos ajustes nas propriedades dos objetos na linha da planilha, inserindo cor cinza, negrito e centralizado.
Tela 002
Faça os ajustes nos campos conforme descrição.
COD, ESTOQM e ESTOQA colocar na categoria “número”.
Tela 003
NOME, FORNECEDOR inserir na categoria “texto”.
Tela 004
PV inserir na categoria “Numero”.
Tela 005
OBS inserir na categoria Geral
Tela 006
Concluído a criação do banco de dados, codificaremos a interface estoque inserindo o código abaixo no formulário dentro do evento initialize.
Label_n = Application.WorksheetFunction.CountA(Plan6.Columns(1)) – 1
Tela 007
Os próximos códigos devem ser inseridos dentro do evento clic de cada botão.
Botão Incluir:
Dim bd As Database
Dim Rs As Recordset
Set bd = OpenDatabase(ThisWorkbook.Path & "\" & ThisWorkbook.Name, False, False, "excel 8.0")
Set Rs = bd.OpenRecordset("ESTOQUE$", dbOpenDynaset)
If Me.TextBox_cod > Me.Label_n Then
If Me.TextBox_cod = "" Then
Me.TextBox_cod = "-"
End If
If Me.TextBox_descricao = "" Then
Me.TextBox_descricao.Text = "-"
End If
If Me.ComboBox_fornecedor = "" Then
Me.ComboBox_fornecedor.Text = "-"
End If
If Me.TextBox_minimo = "" Then
Me.TextBox_minimo.Text = "-"
End If
If Me.TextBox_atual = "" Then
Me.TextBox_atual.Text = "-"
End If
If Me.TextBox_pvenda = "" Then
Me.TextBox_pvenda.Text = "-"
End If
If Me.TextBox_obs = "" Then
Me.TextBox_obs.Text = "-"
End If
Dim CADASTRO(1 To 8)
CADASTRO(1) = UCase(Me.TextBox_cod)
CADASTRO(2) = UCase(Me.TextBox_descricao)
CADASTRO(3) = UCase(Me.ComboBox_fornecedor)
CADASTRO(4) = UCase(Me.TextBox_minimo)
CADASTRO(5) = UCase(Me.TextBox_atual)
CADASTRO(6) = UCase(Me.TextBox_pvenda)
CADASTRO(7) = UCase(Me.TextBox_obs)
Dim SALAO As Object
Dim L, i
Set SALAO = Plan6.Cells(1, 1).CurrentRegion
L = SALAO.Rows.Count + 1
If Len(Me.TextBox_cod) = 0 Then
MsgBox "VOCÊ NÃO DIGITOU NENHUM NOME PARA INCLUSÃO", vbCritical, "CADASTRO DE CLIENTES"
Else
For i = 1 To 8
Plan6.Cells(L, i).Value = Trim(CADASTRO(i))
Next i
Me.TextBox_cod.Text = ""
Me.TextBox_descricao.Text = ""
Me.ComboBox_fornecedor.Text = ""
Me.TextBox_minimo.Text = ""
Me.TextBox_atual.Text = ""
Me.TextBox_pvenda.Text = ""
Me.TextBox_obs.Text = ""
MsgBox "CADASTRADO", vbInformation, "EFETUADO COM SUCESSO"
ThisWorkbook.Save
End If
Exit Sub
Else
MsgBox "No campo COD digite um número maior do que há no campo Total Registro para casdastrar."
End If
Tela 008
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("ESTOQUE$", dbOpenDynaset)
LIN = 2
Do Until Rs.EOF
If Rs("DESCRICAO") = Me.ComboBox_fornecedor.Text Then
Me.TextBox_cod = Rs.Fields("COD")
Me.TextBox_descricao = Rs.Fields("DESCRICAO")
Me.TextBox_minimo = Rs.Fields("ESTOQM")
Me.TextBox_atual = Rs.Fields("ESTOQA")
Me.TextBox_pvenda = Rs.Fields("PV")
Me.TextBox_obs = Rs.Fields("OBS")
Me.TextBox_codf.Text = LIN
End If
LIN = LIN + 1
Rs.MoveNext
Loop
Tela 009
Botão Editar:
Dim CADASTRO(2 To 8)
CADASTRO(2) = UCase(Me.TextBox_descricao)
CADASTRO(3) = UCase(Me.ComboBox_fornecedor)
CADASTRO(4) = UCase(Me.TextBox_minimo)
CADASTRO(5) = UCase(Me.TextBox_atual)
CADASTRO(6) = UCase(Me.TextBox_pvenda)
CADASTRO(7) = UCase(Me.TextBox_obs)
CADASTRO(8) = UCase(Me.TextBox_codf.Value)
For i = 2 To 8
Plan6.Cells(Val(Me.TextBox_cod) + 1, i).Value = Trim(CADASTRO(i))
Next i
MsgBox "ALTERAÇÃO EFETUADA", vbInformation, "DOS DADOS"
Tela 010
Botão Excluir:
Dim SALAO
SALAO = MsgBox("DESEJA REALMENTE EXCLUIR?", vbYesNo + vbQuestion, "BANCO DE DADOS")
If SALAO = vbYes Then
Plan6.Cells(Me.TextBox_codf, 1).EntireRow.Delete
Me.TextBox_cod.Text = ""
Me.TextBox_descricao.Text = ""
Me.ComboBox_fornecedor.Text = ""
Me.TextBox_minimo.Text = ""
Me.TextBox_atual.Text = ""
Me.TextBox_pvenda.Text = ""
Me.TextBox_obs.Text = ""
MsgBox "REGISTROS EXCLUÍDO COM SUCESSO."
ThisWorkbook.Save
End If
Tela 011
Botão Voltar:
Me.hide
O combobox, você deve digitar na propriedade Rowsource o seguinte código:
FORNECEDOR!B2:B2000
Tela 012
Nesta parte criarmos o banco de dados do estoque, você fez as formatações necessárias nos campos e a codificação da interface “Estoque”, tudo de forma simples e objetiva, na próxima parte do tutorial 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-2024 ®
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