MaximoAccess

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

Obrigado

Administração do MaximoAccess


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.

Obrigado

Administração do MaximoAccess

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

    Formulario ( com variaveis )

    avatar
    Carlos Rugno
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 20/06/2013

    Formulario ( com variaveis ) Empty Formulario ( com variaveis )

    Mensagem  Carlos Rugno 25/7/2014, 20:49

    Descupe estar perguntando novamente...

    o comando abaixo esta funcionado perfeitamente, o forms logon ... chama o forms ( A- MENU ) a variavel nivel é alimentada..

    Forms![A - MENU].Campo = "'" & Nivel & "'"


    Porem a casos que o forms ( A - MENU )  e fechado e ao reabri-lo a variavel esta vazio...


    Como resolver este problema...


    segue script abaixo:

    ***********

    Private Sub Confirmar_Click()
    Dim T As Recordset, d As Database
    Set d = CurrentDb
    Set T = d.OpenRecordset("SENHA", , dbOpenDynaset)
    Dim Nivel
    While T.EOF = False
    If LOGON = T!LOGON And SENHA = T!SENHA Then
    Nivel = T!Nivel
    MsgBox "SENHA CONFIRMADA! " & LOGON, vbInformation, "AVISO !"
    DoCmd.OpenForm "A - MENU"
    Forms![A - MENU].Campo = "'" & Nivel & "'"
    Me.Visible = False
    Exit Sub
    Else
    T.MoveNext
    End If
    Wend
    MsgBox "LOGON OU SENHA INCORRETOS!", vbCritical, "AVISO !"
    End Sub
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3710
    Registrado : 04/04/2010

    Formulario ( com variaveis ) Empty Re: Formulario ( com variaveis )

    Mensagem  Avelino Sampaio 28/7/2014, 11:24

    Olá!

    Para não perder o valor da variável "nível" , transfira para um módulo global

    Exclua do seu evento a linha:

    Dim Nivel

    E crie em um módulo global a linha:

    Public Nivel  

    Ou aprenda a utlizar a coleção TempVars(), se seu Access for uma das seguintes versões: 2007, 2010 ou 2013

    http://www.usandoaccess.com.br/tutoriais/tuto31.asp?id=1#inicio

    Bom estudo!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Carlos Rugno
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 20/06/2013

    Formulario ( com variaveis ) Empty Re: Formulario ( com variaveis )

    Mensagem  Carlos Rugno 28/7/2014, 13:15

    Desculpe fiz conforme abaixo e não funcionou...

    Option Compare Database
     

    'variável de escopo público
    Public nivelUsuario As Long
     

    Public Function Nivel(Optional nivelUsuario As Long = 0) As Long
    If Nivel = 0 Then

        'função recebe o valor da variável nivel
        Nivel = nivelUsuario
    Else

        'Variável recebe valor do argumento Nivel
        Nivel = nivelUsuario
        End If
    End Function

    ***

    como poderia fazer para funcionar?

    Desabilitei a funçao dim Nivel Conforme solicitado..

    Private Sub Confirmar_Click()
    Dim T As Recordset, d As Database
    Set d = CurrentDb
    Set T = d.OpenRecordset("SENHA", , dbOpenDynaset)
    'Dim Nivel
    While T.EOF = False
    If LOGON = T!LOGON And SENHA = T!SENHA Then
    Nivel = T!Nivel
    MsgBox "SENHA CONFIRMADA! " & LOGON, vbInformation, "AVISO !"
    DoCmd.OpenForm "A - MENU"
    Forms![A - MENU].Nivel = "" & Nivel & ""
    Me.Visible = False
    Exit Sub
    Else
    T.MoveNext
    End If
    Wend
    MsgBox "LOGON OU SENHA INCORRETOS!", vbCritical, "AVISO !"
    End Sub

      Data/hora atual: 4/3/2021, 15:31