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

    [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 : 6
    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

    rubenscouto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 547
    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 : 6
    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 : 6
    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: Dom 04 Dez 2016, 12:15