Ir para conteúdo
Fórum Script Brasil
  • 0

Restrição de acesso a formularios


Justiceira

Pergunta

Tenho o seguinte codigo que queria que me bloqueasse os usuarios sem permissão a certos forms,mas ele me retorna sempre acesso negado


'função de acesso
Function VerificarUsuario(ByVal Usua As Long) As String
Dim varAcesso As String
Dim TBusuario As Recordset
Set TBusuario = bancodedados.OpenRecordset("usuario", dbOpenTable)

TBusuario.Index = "ID"
TBusuario.Seek "=", (Usua)

If TBusuario.EOF = False Then
varAcesso = TBusuario!Padrão
MsgBox varAcesso
Else
varAcesso = ""
End If
VerificarUsuario = varAcesso

End Function
'Botão que chama o Form3
Private Sub Cmdpart_Click()
If varAcesso = "A" Or varAcesso = "F" Then
Form3.Show
Else
MsgBox "Acesso Negado!"
End If
End Sub

'Botão que chama o Form4
Private Sub Cmdativ_Click()
If varAcesso = "A" Then
Form4.Show
Else
MsgBox "Acesso Negado!"
End If
End Sub

'Botão que chama o Form5
Private Sub Cmdfunc_Click()
If varAcesso = "A" Or varAcesso = "F" Then
Form5.Show
Else
MsgBox "Acesso Negado!"
End If
End Sub

'Botão que chama FORM6
Private Sub Cmdinscri_Click()
If varAcesso = "A" Then
FormSUE6.Show
Else
MsgBox "Acesso Negado!"
End If
End Sub
[/codebox]

[codebox]
Private Sub form_Load()
Dim varAcesso As String
varAcesso = VerificarUsuario(1)
End Sub

alguém pode me ajudar nisso

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

justiceira, aquela linha, onde ele diz MsgBox varAcesso. ele esta passando ai e mostrando a mensagem??

você tb pode tentar isso:

Dim varAcesso As String
Dim TBusuario As Recordset
Set TBusuario = bancodedados.OpenRecordset("usuario", dbOpenDynaset)

TBusuario.FindFirst "ID = " & Usua

If Not TBusuario.NoMatch Then
    varAcesso = TBusuario!Padrão
    MsgBox varAcesso
Else
    varAcesso = ""
End If[/code]

Editado por kuroi
Link para o comentário
Compartilhar em outros sites

  • 0

O erro provavelmente esta aqui:

Private Sub form_Load()
 Dim varAcesso As String
 varAcesso = VerificarUsuario(1)
End Sub
a variável varAcesso esta privada ao escopo da sub form_Load. Você deve declara-la no escopo geral do projeto. tipo:
option explicit
Public varAcesso As String

Do jeito que esta atualmente a sub form_load e executada, a varAcesso é carregado porem é destruida no fim da Sub.

ou seja as outras subs não tem acesso a esta variavel.

Recomendo a verificação de acesso na sub form_Load de cada form com restrições e não no botão que chama o form.

t+!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...