USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Limpar Campos
[k]-du
SANTOS
SP - BRASIL
Postada em 20/07/2004 11:38 hs            
e ai pessoall
 
o meu problema eh oseguinte.... eu tenho um form com mais de 20 text's e que queria q depois de cadastrar limpasse todos os campos... mas tem algum jeito sem ser um por um
cd_cadastro.text = ""
nome.text = ""
rg.text= ""
.
.
.
.
 
valeus
cadu
     
Rochª
Pontos: 2843 Pontos: 2843 Pontos: 2843
RIO DE JANEIRO
RJ - BRASIL
Postada em 20/07/2004 11:56 hs            
Eu uso esta rotina
'Essa rotina varre o formulário e apaga o conteúdo dos campos texto
'Campo_nao_limap é normalmente a chave para não ser apagada ou seja o que voce digitou. Tipo o cod_cliente
Public Sub LIMPA_CAMPOS_FORMULARIO(NomeForm As Form, Optional campo_nao_limpa As String)
Dim Controle As Control
    For Each Controle In NomeForm.Controls
        If Controle.Name <> campo_nao_limpa Then
            If TypeOf Controle Is TextBox Then Controle.Text = ""
     
            If TypeOf Controle Is ComboBox Then
                Controle.ListIndex = 0
            End If
      End If
    Next Controle
End Sub
Eu coloquei a possibilidade de não limpar um campo, tipo o campo do codigo do cliente. Digitei o cod 6, não existe o cliente com o codigo 6 entao ele nao apagaq este campo e limpa todos os outros. Se preferir não passe nada neste campo para ter tudo limpa.

__________________________________________________________________________
Qualquer coisa post
 
Emoções
Rochª
     
Randsolo
BELO HORIZONTE
MG - BRASIL
Postada em 20/07/2004 13:52 hs            
vc pode implementar a rotina acima utilizando a propriedade TAG do objeto para definir como vc quer inicializar as variáveis:
 
Eu uso assim:
 
Public Sub LimpaForm(frmForm As Form)
'*****************************************************
' Rotina para limpar todos os controles do form q foram solicitados conforme abaixo:
' Se TAG = 99 => ""
' Se TAG = 90 => 0
' Se TAG = 91 => Data formatada "__/__/____"
' Se TAG = 92 => número formatado com duas casas "0,00"
' Se TAG = 0 => Não limpa este campo (limpar manualmente) 
'   Randerson Maurilio - 29/08/2003
'*****************************************************
On Error Resume Next
Dim i As Integer
Dim vMaskTmp As String
   With frmForm
      For i = 1 To .Controls.Count - 1
         If .Controls(i).Tag <> "" Then
            If TypeOf .Controls(i) Is Label Then
               If .Controls(i).Tag = 99 Then
                  .Controls(i).Caption = ""
               ElseIf .Controls(i).Tag = 90 Then
                  .Controls(i).Caption = 0
               ElseIf .Controls(i).Tag = 91 Then
                  .Controls(i).Caption = "__/__/____"
               ElseIf .Controls(i).Tag = 92 Then
                  .Controls(i).Caption = "0,00"
               End If
            ElseIf (TypeOf .Controls(i) Is TextBox) Then
               If .Controls(i).Tag = 90 Then
                  .Controls(i).Text = 0
               ElseIf .Controls(i).Tag = 91 Then
                  .Controls(i).Text = "__/__/____"
               ElseIf .Controls(i).Tag = 92 Then
                  .Controls(i).Text = "0,00"
               End If
            End If
         Else
            If TypeOf .Controls(i) Is TextBox Then .Controls(i).Text = ""
            If TypeOf .Controls(i) Is ComboBox Then .Controls(i).Text = ""
            If TypeOf .Controls(i) Is CheckBox Then .Controls(i).Value = vbUnchecked
            If TypeOf .Controls(i) Is OptionButton Then .Controls(i).Value = False
            'Como a MaskEdBox não aceita vazio, tem esta forma de enganá-la
            If TypeOf .Controls(i) Is MaskEdBox Then
               vMaskTmp = .Controls(i).Mask
               .Controls(i).Mask = ""
               .Controls(i).Text = ""
               .Controls(i).Mask = vMaskTmp
            End If
         End If
      Next
   End With
End Sub

 

"Que a Força estejam com voces..." Emoções

"Faça ou não faça. Tentar não existe ..." - Meste Yoda Emoções

 

 

     
Eledio Junior
Pontos: 2843
CAÇADOR
SC - BRASIL
Postada em 20/07/2004 13:57 hs         
muitas vezes dependedo do sistema e da velocidade do carregamento
 
basta uma unload me e um show me..
     
[k]-du
SANTOS
SP - BRASIL
Postada em 20/07/2004 14:26 hs            
Ae pessoall valeu pelas dicas.... isso jah resolve o meu problema...
 
Obrigado a todos
cadu
     
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página