CÓDIGOS VBA MODELOS...
FUNÇÃO PARA CADASTROS.
Boa tarde! galera no post anterior da série CÓDIGOS VBA MODELOS... ensinei a criar um numero crescente para ser usado como código de registro, para o cadastro que irei ensinar nesse post... espero que estejam gostando do meu blog...Post anterir: CÓDIGOS VBA MODELOS... FUNÇÃO NUM_AUTO...
http://excelamador.blogspot.com.br.passo_a_passo_numero_automatico
Vamos abrir a pasta que criamos no post anterior para dar continuidade a mesma...
Agora iremos criar um segundo campo para o nosso banco de dados...
que será onde vamos cadastrar produtos diversos...Assim o nosso titulo será PRODUTO...
Agora vamos no Editor VBA a caixa de texto criada no post anterior (que exibido o número auto...) temos que alterar a propriedade ENABLE dela para False.
Depois vamos criar outro Objeto caixa de texto para servir de referencia a esse campo novo (PRODUTO) criado na planilha...
Vamos inserir 2 Label (rótulos)para servir de tútulos para as caixas de texto criado...
Alterar a propriedade CAPTION de cada rótulo conforme imagem..
Inserir um botão de comando e alterar a propriedade CAPTION para GRAVAR:
Código modelo para cadastro...
Function CADASTRO()
If FORMULARIO.OBJETO.Text =
"" Then
MsgBox " OBJETO É UM CAMPO OBRIGATÓRIO", vbExclamation
FORMULARIO.OBJETO.SetFocus
Exit Function
Else
End If
Dim linha As Integer
Dim BANCO As Database
Dim TABELA As Recordset
Set BANCO = OpenDatabase(ThisWorkbook.Path & "/" &
ThisWorkbook.Name, False, False, "EXCEL 8.0")
Sql = "insert into [PLANILHA$] (CAMPO)VALUES
('" & FORMULARIO.OBJETO &
"')"
BANCO.Execute Sql
BANCO.Close
MODULO.NUM_AUTO
FORMULARIO.OBJETO.Text =
""
FORMULARIO.OBJETO.SetFocus
End Function
______________________________________________________
CADASTRO = NOME DA FUNÇÃO
OBJETO= NOME DO OBJETO…
PLANILHA= NOME DA PLANILHA
CAMPO= CAMPO DENTRO DA PLANILHA ONDE SERÃO GRAVADAS AS INFORMAÇÕES
FORMULARIO= NOME DO FORMULÁRIO ONDE SE ENCONTRA O OBJETO…
MODULO= MÓDULO ONDE ESTÁ O CÓDIGO QUE GERA O NÚMERO AUTOMÁTICO...
NUM_AUTO= NOME DA FUNÇÃO QUE GERA O CÓDIGO AUTO. DENTRO DO MODULO ...
COLOCANDO EM MINHA PASTA DE TRABALHO O CÓDIGO ACIMA...
Function CADASTRO ) 'aqui vai o nome da função que pode ser qualquer um...
Verifica se o OBJETO não está vazio
If FORMULARIO.OBJETO.Text = "" Then
MsgBox " OBJETOÉ UM CAMPO OBRIGATÓRIO", vbExclamation
FORMULARIO.OBJETO.SetFocus
Exit Function
Else
End If
Colocando os meus objetos, o código acima ficará assim:
If UserForm1.TextBox2.Text = "" Then
MsgBox " PRODUTO É UM CAMPO OBRIGATÓRIO", vbExclamation
UserForm1.TextBox2.SetFocus
Ao executa-lo se o Textbox1 estiver vazio exibirá a seguinte mensagem...
UserForm1 = nome do nosso formulário
Colocando os meus objetos, o código acima ficará assim:
If UserForm1.TextBox2.Text = "" Then
MsgBox " PRODUTO É UM CAMPO OBRIGATÓRIO", vbExclamation
UserForm1.TextBox2.SetFocus
Exit Function
Else
End If
Ao executa-lo se o Textbox1 estiver vazio exibirá a seguinte mensagem...
UserForm1 = nome do nosso formulário
TextBox2= nome do nosso objeto no formulário...
PRODUTO = nome do campo na planilha...
esse mesmo código é repetido quantas vezes for necessárias de acordo com o número de caixas de texto que estivermos usando em nosso projeto de modo que não seja efetuado o cadastrado se alguma caixa de texto estiver vazia e do mesmo modo avisando ao usuário qual é, por meio da mensagem exibida...
________________________________________________________________________________
Sql = "insert into [PLANILHA$] (CAMPO)VALUES ('" & FORMULARIO.OBJETO& "')"
A linha acima é responsável pelo cadastro nela você tem que informar em qual planilha será feito o cadastro???? que no nosso exemplo será... TESTE_NUMERO então a linha ficará assim
Sql = "insert into [TESTE_NUMERO$] (CAMPO)VALUES ('" & FORMULARIO.OBJETO& "')"
CAMPO aqui devemos dizer em quais campos serão gravadas as informações, vamos gravar então nos campos NUMERO e PRODUTO de nossa planilha...
então a linha ficará assim agora...
Sql = "insert into [TESTE_NUMERO$] (NUMERO,PRODUTO)VALUES ('" & FORMULARIO.OBJETO& "')"
Veja que para separar um campo do outro basta por a virgula entre eles.
______________________________________________________
FORMULARIO aqui devemos informar qual UserForm está o Objeto que terá a informação... no caso é o UserForm1...
então a linha ficará assim agora...
Sql = "insert into [TESTE_NUMERO$] (NUMERO,PRODUTO)VALUES ('" & UserForm1.OBJETO& "')"
______________________________________________________
OBJETO aqui informamos ao código onde está a informação que vai ser gravada... que no nosso caso como o primeiro campo do código é NUMERO então o primeiro objeto será o TextBox1...
então a linha ficará assim agora...
Sql = "insert into [TESTE_NUMERO$] (NUMERO,PRODUTO)VALUES ('" & UserForm1.TextBox1 & "')"
e por fim vamos por o objeto que irá por as informações no campo PRODUTO que será o TextBox2...
então a linha ficará assim agora...
Sql = "insert into [TESTE_NUMERO$] (NUMERO,PRODUTO)VALUES ('" & UserForm1.TextBox1 & "','" & UserForm1.TextBox2 & "')"
______________________________________________________
MODULO.NUM_AUTO (aqui devemos chamar a função código automático criado no post mencionado no inicio deste)
FORMULARIO.OBJETO.Text = "" (esse código serve para limpar a caixa de texto)
FORMULARIO.OBJETO.SetFocus (esse código serve para levar o ponteiro do mouse novamente para o objeto citado nele)
Veja como ficará o código completo para gravar esses 2 objetos na planilha...
Function CADASTRO()
If UserForm1.Textbox2.Text = "" Then
MsgBox " PRODUTO É UM CAMPO OBRIGATÓRIO", vbExclamation
UserForm1.Textbox2.SetFocus
Exit Function
Else
End If
Dim linha As Integer
Dim BANCO As Database
Dim TABELA As Recordset
Set BANCO = OpenDatabase(ThisWorkbook.Path & "/" & ThisWorkbook.Name, False, False, "EXCEL 8.0")
Sql = "insert into [TESTE_NUMERO$] (NUMERO,PRODUTO)VALUES ('" & UserForm1.TextBox1 & "','" & UserForm1.TextBox2 & "')"
BANCO.Execute Sql
BANCO.Close
Módulo1.NUMERO
UserForm1.Textbox2.Text = ""
UserForm1.Textbox2.SetFocus
End Function
______________________________________________________
Vamos copiar e colar o código dentro do módulo1 logo abaixo da função NUMERO...
_________________________________________________________________________________
Vamos chamar essa função dentro do botão no evento Click...
_____________________________________________________
Pronto agora é só rodar o formulário e testar...
Estando tudo certo salvem o trabalho que irei acrescentar uma terceira coluna ao cadastro a de Valor dos Produtos...
Não percam o próximo post será voltado para colocar a coluna valor, assim você conseguirá cadastrar quantas informações você precisar... e também darei inicio ao assunto pesquisa... onde ao cadastrar um determinado produto o mesmo já apareça em uma lista dentro do próprio formulário...
Até mais...
Deixem comentários dizendo se conseguiram ou não, no caso de dúvidas será um prazer analisa-las e ajudar a compreender cada passo postado aqui...
At; Edivan Cabral...
Como eu realizo esse procedimento???
ResponderExcluir"Agora vamos no Editor VBA a caixa de texto criada no post anterior (que exibido o número auto...) temos que alterar a propriedade ENABLE dela para False."
Eu não achei como alterar de enable para false