MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Limpar Campos de um Formulário

    Compartilhe

    Fernandes,W
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 6
    Registrado : 26/07/2011

    Limpar Campos de um Formulário

    Mensagem  Fernandes,W em Ter 15 Dez - 11:14

    Caros boa tarde!
    Pretendo criar uma Função que limpe os campos de um fomulário desacoplado.
    Vi vários exemplos mas não funcionam como esperado.

    A minha função é esta:
    Código:


    Public Function LimpaTela(frm As Form)

        Dim ctl As Control
        
        For Each ctl In frm.Controls
            If Not IsNull(ctl) Or ctl <> "" Then
                ctl.Value = Null
            End If
        Next
            
    End Function



    No Botão Limpar Campos tem o seguinte código

    Código:


    Private Sub CmdLimparCampo_Click()

        Resposta = MsgBox("Tem a certeza que pretende limpar os dadados dos campos?", vbQuestion + vbYesNo, "Limpar campos")
        If Resposta = vbYes Then
            LimpaTela (Me)
            Me.CbxTitulo.SetFocus
            Exit Sub
        ElseIf Resposta = vbNo Then
            'NÃO FAZ NADA
        End If

    End Sub



    Quando executo dá-me o erro: "Run-time error 13: Type mismatch"

    Alguém poderia dar uma ajuda?

    Desde já agradecimentos antecipados.

    Nogaro513
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 455
    Registrado : 12/08/2013

    Re: Limpar Campos de um Formulário

    Mensagem  Nogaro513 em Ter 15 Dez - 13:51

    boa tarde amigo Fernandes, para limpar campos de um formulário coloque no clik de um botão funciona nota 10
    aguardo retorno , abraço Nogaro !

    Private Sub Comando16_Click()

    Me.seucampo= ""
    Me.seucampo= ""
    Me.seucampo= ""
    Me.seucampo= ""

    End Sub

    Fernandes,W
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 6
    Registrado : 26/07/2011

    Re: Limpar Campos de um Formulário

    Mensagem  Fernandes,W em Ter 15 Dez - 14:01

    Cara Nogaro,
    Agradeço a sua prontidão.
    Já pensei nesse solução. Entretanto, suponhamos que tenho 20 campos. teria que repetir para os 20 controlos.
    O que pretendo é criar uma função publica que faça isso, independentemente do formulário.
    Aguardo respostas

    Nogaro513
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 455
    Registrado : 12/08/2013

    Re: Limpar Campos de um Formulário

    Mensagem  Nogaro513 em Ter 15 Dez - 14:05

    amigo Fernandes não é tão dificil assim porque tenho um form que tem 38 campos e menos de 3 minutos apliquei o código agora cada um tem uma opinião abraço Nogaro !

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2483
    Registrado : 29/06/2012

    Re: Limpar Campos de um Formulário

    Mensagem  Noobezinho em Ter 15 Dez - 16:23

    Fernandes

    Aqui está a função:

    Atente para a propriedade Tag (Marca) = "pula")

    Coloque na nessa propriedade ( a ultima da aba todas) para

    a caixa de texto do código do registro para não dar erro.

    Coloque um botão Limpar no formulário e no evento Ao clicar:

    Call LimpaTudo Me

    Código:

    Function LimpaTudo(frm As Form)
    Dim ctl As Control

    For Each ctl In frm.Controls
      Select Case ctl.ControlType
         Case acTextBox
              If ctl.Tag <> "pula" Then
                 ctl.Value = ""
              End If
         Case acOptionGroup, acComboBox, acListBox
             ctl.Value = Null
         Case acCheckBox
            ctl.Value = False
      End Select
    Next
    End Function

    [ ]'s


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

      Data/hora atual: Sex 2 Dez - 23:35