MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Criação de variável pública para o vba/access

    Compartilhe

    wjfe48
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 03/09/2016

    [Resolvido]Criação de variável pública para o vba/access

    Mensagem  wjfe48 em Ter 15 Nov 2016, 19:04

    Sou relativamente novo na programação VBA, mas detenho bons conhecimentos de programação em outras linguagens.
    O meu problema consiste em tornar uma variável pública para os demais formulários dentro do mesmo projeto.
    Tal variável é o cpf do usuário, informação que retiro de tabela do access e já confirmei que isso ocorre ao depurar o procedimento.
    Contudo a variável se comporta como Private.
    O meu projeto é composto de vários formulários e cada um tem seu próprio código e estes estão sob um Objeto de Classes que está sob o projeto.

    A simples declaração: Public CPF_NP As String feita fora do procedimento, logo a seguir ao Option Compare Database não é suficiente.

    Assim, gostaria ao menos de sugestões ou da indicação de como deveria proceder para declarar a variável como pública.

    Obrigado,

    Waldemar
    avatar
    rubenscouto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 618
    Registrado : 02/10/2011

    Re: [Resolvido]Criação de variável pública para o vba/access

    Mensagem  rubenscouto em Ter 15 Nov 2016, 20:23

    você vai ter que criar uma função publica que capta o CPF_NP do cliente mas isto tem que ser feito em alguma parte do formulario de login ou do formulario de cadastro do cliente. Ex.:

    Function que retorna o nome do usuário de rede logado

    Public Function UsuarioRede() As String
    Dim GetUserN
    Dim ObjNetwork
    Set ObjNetwork = CreateObject("WScript.Network")
    GetUserN = ObjNetwork.UserName
    UsuarioRede = GetUserN
    End Function

    em uma caixa de texto, coloque o seguinte argumento:
    =UsuarioRede()

    Esta, por exemplo, retorno o nome do usuario logado do Windows.

    para buscar o CPF_NP do seu usuario, vai ter que usar o argumento:
    =Dlookup("CPF_NP";"TabelaUsuario";"Usuario = " & me.SuaCaixaDeTextoDoSeuformulario

    entendeu?

    wjfe48
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 03/09/2016

    Agradecimento

    Mensagem  wjfe48 em Qui 17 Nov 2016, 13:34

    Agradeço pela resposta tão rápida, mas meus conhecimentos ainda não abarcam estes comandos.
    Minha 1ª intenção era entender a abrangência da variável pública, além de usá-la de imediato, o que me mostrou ser apenas a função pública realmente de uso geral dentro do projeto.
    Embora não tenha usado sua sugestão de código, elaborei outra que também me serviu e aqui posto para o caso de alguém mais poder usá-la.
    Para gravar a identificação do usuário, a princípio no próprio micro:

    Public Function GravaCPF(RFB As String)

    Const var_arq = "C:\AdmCond\cpf.doc"

    If Dir(var_arq) <> vbNullString Then
              Kill var_arq
    End If
              Open var_arq For Output As #1
              Write #1, RFB
              Close #1
             
    End Function


    E para recuperar a informação em qualquer formulário:

    Public Function LerCPF()

    Const var_arq = "C:\AdmCond\cpf.doc"

    If Dir(var_arq) = vbNullString Then
          Beep
          MsgBox "O arquivo de identificação do usuário está vazio.", , "ATENÇÃO !!! "
    Else
          Open var_arq For Input As #1
          Input #1, LerCPF
          Close #1
    End If


    Agradeço a ajuda e usarei sua sugestão para buscar mais conhecimentos sobre os comando utilizados.

    Um abraço,

    Waldemar

    wjfe48
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11
    Registrado : 03/09/2016

    Re: [Resolvido]Criação de variável pública para o vba/access

    Mensagem  wjfe48 em Qui 17 Nov 2016, 13:36

    Obrigado.

      Data/hora atual: Qua 20 Set 2017, 20:59