sexta-feira, 22 de março de 2013

FUNÇÃO VBA PARA CADASTROS. PARTE II


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...

3 comentários:

  1. muito bom!!!

    ainda não vi todos os posts
    mas vou fazer um pedido continua nesse projeto com inclusão de:
    LOCALIZAR, ALTERAR E EXCLUIR.

    ResponderExcluir
  2. Vlw pelo comentário... continue lendo sim... estou quase no fim do post que temo código para PESQUISAS e sempre vou ir usando a mesma planilha criado nos posts anteriores então vai salvando ela, para que tudo funcione conforme o postado por mim...

    cara vlw mesmo pelo comentário...

    Edivan Cabral...

    ResponderExcluir
  3. Rapaz, muito bom seu post, achei seu blog por um acaso. Ta me ajudando demais.
    Nem sei como te agradecer, cara vc não quebrou um galho, ta quebrando a arvore inteira.
    Vlw mesmo

    ResponderExcluir