MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


2 participantes

    Reaproveitar código em outros formulários

    avatar
    Adelor da Silva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 15/08/2013

    Reaproveitar código em outros formulários Empty Reaproveitar código em outros formulários

    Mensagem  Adelor da Silva 26/9/2013, 14:33

    Bom dia, tenho o seguinte código:

    Select Case Len(fone)
    Case 11 ' São Paulo
    fone.InputMask = "(00) 0,0000-0000"
    Case 10 ' Outros
    fone.InputMask = "(00) 0000-0000"
    'Case Else ' Não é CNPJ nem CPF
    'Me.Texto2.InputMask = ""
    End Select

    Qual a forma de chamar este bloco em outros formulários e relatórios para não ter que digitar tudo de novo?
    Gostaria de fazer desta forma pois se tiver que editar edito simplesmente em um lugar que nem "css" ou "php"

    Aguardo!
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Reaproveitar código em outros formulários Empty Reaproveitar código em outros formulários

    Mensagem  good guy 26/9/2013, 15:14

    Olá Adelor,

    Criando uma sub-rotina ou função no ambiente de desenvolvimento. Coloque duas caixas de texto no seu formulário. Na primeiro dê o nome de fone. A segunda só servirá para você tabular e realizar o teste. OK?


    Sub-Rotina:
    Public Sub AlteraMascara()

    Seu código


    End Sub


    ou Funcão:



    Private Sub fone_Exit(Cancel As Integer)
    Dim XMask As String

    XMask = Nz(fone)
    Call AlteraMascara(XMask)
    End Sub


    Public Function AlteraMascara(NovaMascara As String)

    Select Case Len(fone)
    Case 11 ' São Paulo
    fone.InputMask = "(00) 0,0000-0000"
    NovaMascara = fone.InputMask
    AlteraMascara = NovaMascara
    Case 10 ' Outros
    fone.InputMask = "(00) 0000-0000"
    NovaMascara = fone.InputMask
    AlteraMascara = NovaMascara

    Case Else ' Não é CNPJ nem CPF
    Me.fone.InputMask = ""
    End Select

    End Function

    'Com um clique você desfaz a máscara para alterar para outra máscara após digitar o número:

    Private Sub fone_Click()  

    Dim XMask As String

    XMask = Nz(fone)
    Call AlteraMascara(XMask)
    End Sub


    NOTA: Visite o meu site www.goodguyaccessvba.com.br e estude Funções e Sub-Rotinas na seção Artigos.
    avatar
    Adelor da Silva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 15/08/2013

    Reaproveitar código em outros formulários Empty Re: Reaproveitar código em outros formulários

    Mensagem  Adelor da Silva 26/9/2013, 15:43

    Desculpas good guy, mas acho que eu não fui claro na dúvida, ou talvez não consegui entender seu raciocínio

    Estou tentando fazer algo assim...

    Eu preciso de duas variáveis que eu possa chamar nos formulários e relatórios, algo assim:

    Public Function Mascara()
    Dim mask_11 As String
    mask_11 = "(00) 0,0000-0000"

    Dim mask_10 As String
    mask_10 "(00) 0000-0000"
    End Function


    No Formulário quando eu carregar o código será algo parecido com isso:

    Private Sub Report_Load()
    Select Case Len(fone)
    Case 11
    fone.InputMask = mask_11
    Case 10
    fone.InputMask = mask_10
    End Select

    End Sub
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Reaproveitar código em outros formulários Empty Reaproveitar código em outros formulários

    Mensagem  good guy 26/9/2013, 18:28

    OK. Entendi. Vamos ver como deve ficar o código. Funcionará na abertura de um formulário e não de um relatório.


    Public Function AlteraMascara(NovaMascara As String)
    On Error Resume Next

    Dim NumDig As String


    NumDig = InputBox("Informe o número de dígitos do CNPJ ou CPF:", "Dados Importantes") 'É um nome aleatório de seu cabeçalho. Mude conforme sua conveniência.

    Select Case NumDig
    Case 11 ' São Paulo
    fone.InputMask = "(00) 0,0000-0000"
    NovaMascara = fone.InputMask
    AlteraMascara = NovaMascara
    Case 10 ' Outros
    fone.InputMask = "(00) 0000-0000"
    NovaMascara = fone.InputMask
    AlteraMascara = NovaMascara

    Case Else ' Não é CNPJ nem CPF
    'Me.fone.InputMask = ""
    MsgBox "Número de dígitos não compatível !!!", vbCritical, "Erro"
    DoCmd.Close acForm, "frmMascara" 'frmMascara é o nome de seu formulário
    End Select


    End Function


    Private Sub Form_Load()
    Dim XMask As String

    XMask = Nz(fone)
    Call AlteraMascara(XMask)
    End Sub
    avatar
    Adelor da Silva
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 15/08/2013

    Reaproveitar código em outros formulários Empty Re: Reaproveitar código em outros formulários

    Mensagem  Adelor da Silva 26/9/2013, 19:16

    Desculpa minha falta de conhecimento... mas onde eu declaro a

    Public Function AlteraMascara(NovaMascara As String)
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Reaproveitar código em outros formulários Empty Reaproveitar código em outros formulários

    Mensagem  good guy 27/9/2013, 15:47

    Olá Adelor,

    Você deve colocar esta função dentro do ambiente de código de seu formulário. Respeitando-se o nome correto dos campos como você você postou, por exemplo, o campo fone, etc. Funcionará perfeitamente ao se invocar a função na abertura do formulário.

    Conteúdo patrocinado


    Reaproveitar código em outros formulários Empty Re: Reaproveitar código em outros formulários

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 2/5/2024, 08:20