CÓDIGOS VBA MODELOS...
FUNÇÃO PARA CADASTROS. PARTE II
Bom galera dando continuidade ao post CÓDIGOS VBA MODELOS... FUNÇÃO PARA CADASTROS, vamos abrir a pasta de trabalho que criamos e estamos usando ao decorrer dos posts...
Como prometido no post anterior vamos acrescentar a coluna VALOR em nosso banco de dados...
_____________________________________________________
Vamos também inserir mais uma Caixa de Texto em nosso formulário e dessa vez vamos alterar a propriedade (Name) dela para TXT_VALOR, a partir de agora vou começar a nomear os objetos para melhor compreensão dos códigos...
______________________________________________________
Inserir também um rótulo para servir de titulo para a caixa de texto... alterar o propriedade Caption do rótulo para VALOR...
______________________________________________________
Hoje vou mexer na posição dos meus objetos para ficar de forma mais agradável para o utilizador... fiz
assim:
______________________________________________________
Agora vou mexer no código para que funcione também com o novo objeto (caixa de texto) inserido...
vou marcar em amarelo o que foi inserido para melhor compreendermos...
Function CADASTRO()
If UserForm1.TextBox2.Text = "" Then
MsgBox " PRODUTO É UM CAMPO OBRIGATÓRIO", vbExclamation
UserForm1.TextBox2.SetFocus
Exit Function
Else
End If
'(copiei o código de cima, e troquei os nomes do objeto e campo na planilha)
If UserForm1.TXT_VALOR.Text = "" Then
MsgBox " VALOR É UM CAMPO OBRIGATÓRIO", vbExclamation
UserForm1.TXT_VALOR.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,VALOR)VALUES ('" & UserForm1.TextBox1 & "','" & UserForm1.TextBox2 & "','" & UserForm1.TXT_VALOR & "')"
'(inseri o novo campo e o novo objeto)
BANCO.Execute Sql
BANCO.Close
Módulo1.NUMERO
UserForm1.TextBox2.Text = ""
UserForm1.TXT_VALOR.Text = "" '(copiei e troquei o objeto)
UserForm1.TextBox2.SetFocus
End Function
______________________________________________________
Temos que mudar a ordem de tabulação no formulário pois ao executar o formulário e digitar o produto o focu vai para o botão e não para o valor (isso ocorre por que o TextBox3 (TXT_VALOR) foi inserido após o botão). Então é só clicar com o botão direito do mouse sobre o UserForm e trocar a ordem de tabulação...
______________________________________________________
Vamos dar um clique duplo sobre a segunda caixa de texto... para abrir o Editor VBA e vamos por um código que fará com que tudo o que for digitado nela seja maiúsculo... o código é...
Private Sub TextBox2_Change()
Me.TextBox2.Text = UCase(Me.TextBox2.Text)
End Sub
______________________________________________________
Vou colocar também na caixa de texto TXT_VALOR um código para formatar como moeda o valor digitado...
Para isso damos um clique duplo no objeto para abrir o editor de códigos, mudamos o evento de Change para AfterUpdate que executará o código apenas quando sair da caixa de texto...
____________________________________________________
Pronto agora vamos testar se nosso trabalho foi feito corretamente. O resultado deverá ser esse do vídeo.
Isso aí galera vou fazer uns posts com vídeos assim como fiz esse final aqui, espero que gostem...
At; Edivan Cabral...