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

    Formulario ( com variaveis )

    Compartilhe

    Carlos Rugno
    Novato
    Novato

    Respeito às Regras 100%

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

    Formulario ( com variaveis )

    Mensagem  Carlos Rugno em Sex 25 Jul 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
    avatar
    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: Formulario ( com variaveis )

    Mensagem  Avelino Sampaio em Seg 28 Jul 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

    [Você precisa estar registrado e conectado para ver este link.]

    Bom estudo!

    Carlos Rugno
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: Formulario ( com variaveis )

    Mensagem  Carlos Rugno em Seg 28 Jul 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: Sab 21 Out 2017, 18:40