NIVEIS DE ACESSO
Boa noite, em meu projeto tenho um form de login, neste form é efetuado a busca no Bd pelo usuário se encontrar então vai para frmprincipal... Mas antes de ir ele me seta as variáveis publicas com SIM OU NÓ¡O:
Exemplo:
PermiteClientes="NÓ¡O"
PemitePedidos="SIM"
PermiteVistorias="NÓ¡O"
PermiteConfiguracoes="SIM"
PermiteRelatorios="NÓ¡O"
Deu para perceber que as variáveis publicas são Strings....Pois é até ai tudo bem...Mas o problema é que no caso se as variaveis forem Não é para me desabilitar alguns botoes em uma toolbar, mas isso não esta acontecendo, para verificar como estão as variáveis eu usei este código...
If PermiteClientes = "SIM" Then
Toolbar1.Buttons(2).Enabled = False
End If
If PermitePedidos = "NÃO" Then
Toolbar1.Buttons(3).Enabled = False
End If
If PermiteVistorias = "NÓ¡O" Then
Toolbar1.Buttons(4).Enabled = False
End If
If PermiteConfiguracoes = "NÓ¡O" Then
Toolbar1.Buttons(6).Enabled = False
End If
If PermiteRelatorios = "NÓ¡O" Then
Toolbar1.Buttons(7).Enabled = False
End If
End Sub
E não funcionou, alguém sabe o porque ? Obrigado..
Exemplo:
PermiteClientes="NÓ¡O"
PemitePedidos="SIM"
PermiteVistorias="NÓ¡O"
PermiteConfiguracoes="SIM"
PermiteRelatorios="NÓ¡O"
Deu para perceber que as variáveis publicas são Strings....Pois é até ai tudo bem...Mas o problema é que no caso se as variaveis forem Não é para me desabilitar alguns botoes em uma toolbar, mas isso não esta acontecendo, para verificar como estão as variáveis eu usei este código...
If PermiteClientes = "SIM" Then
Toolbar1.Buttons(2).Enabled = False
End If
If PermitePedidos = "NÃO" Then
Toolbar1.Buttons(3).Enabled = False
End If
If PermiteVistorias = "NÓ¡O" Then
Toolbar1.Buttons(4).Enabled = False
End If
If PermiteConfiguracoes = "NÓ¡O" Then
Toolbar1.Buttons(6).Enabled = False
End If
If PermiteRelatorios = "NÓ¡O" Then
Toolbar1.Buttons(7).Enabled = False
End If
End Sub
E não funcionou, alguém sabe o porque ? Obrigado..
Suas variaveis devem ser declaradas em um módulo, para que possam serem "vistas" em todos os formÂÂÂ's do projeto. Uma dica: Pq vc nao usa variaveis booleanas (True/False)...
outra forma seria crirar uma variável apenas, pode ser string...
dentro dela, guarde a sequência de utilização de seu toolbar: 0 para não, 1 para sim... desta forma, vc teria algo do tipo
em um módulo:
Public sMenu as String
no seu form de acesso:
sMenu = "010010"
na montagem de seu form principal:
Dim iCount as Integer
For iCount = 1 To Len(sMenu)
if Mid(sMenu, iCount,1) = 0 Then Toolbar1.Buttons(iCount).Enabled = False
Next iCount
espero ter ajudado
dentro dela, guarde a sequência de utilização de seu toolbar: 0 para não, 1 para sim... desta forma, vc teria algo do tipo
em um módulo:
Public sMenu as String
no seu form de acesso:
sMenu = "010010"
na montagem de seu form principal:
Dim iCount as Integer
For iCount = 1 To Len(sMenu)
if Mid(sMenu, iCount,1) = 0 Then Toolbar1.Buttons(iCount).Enabled = False
Next iCount
espero ter ajudado
Ja usei variaves boleanas mas não adiantou de nada, e no caso do Jean eu acho que caso eu precisasse alterar o cadastro do usuario ficaria muito dificil ler essas informmações do Bd..
vc tem estes acessos definidos em um bd? são vários campos? se for, faça um for next:
Dim iCount as Integer
For iCount = 1 To rs.fields.count-1 'considerando que rs(0) tem o id do usuário
if rs(iCount) = "NÃO" then
sMenu = sMenu & "0"
else
sMenu = sMenu & "1"
endif
next iCount
Dim iCount as Integer
For iCount = 1 To rs.fields.count-1 'considerando que rs(0) tem o id do usuário
if rs(iCount) = "NÃO" then
sMenu = sMenu & "0"
else
sMenu = sMenu & "1"
endif
next iCount
No bd, eu tenho os campos Id(autonumeracao), Nome(Identificação para acesso), Senha, NomeUsuario(Nome completo da pessoa), Cargo(Função na empresa), ControleClientes(Aqui vai se a pessoa tem acesso ao controle de clientes), ControlePedidos(Aqui vai a mesma coisa que controle de clientes só que é para pedidos), ControleVistorias(mesma coisa), Confoguracoes(mesma coisa) e Relatorios(mesma coisa).......
Jean, usei este codigo seu:
Dim iCount as Integer
For iCount = 1 To Len(sMenu)
if Mid(sMenu, iCount,1) = 0 Then Toolbar1.Buttons(iCount).Enabled = False
Next iCount
Funcionou, mas ocorreu o problema de carregar os botoes da toolbar porque eles não estão em sequencia, tipo:
O botão 1 é estilo Separator
O botão 2 é Clientes
O 3 é Pedidos
O 4 é Vistorias
O 5 é estilo separator
O 6 é Configurações
O 7 é Relatorios
O 8 é Sair
Eu acho que ocorre esse problema pois O Icount esta seguindo a numeração dos botões em sMenu..
Dim iCount as Integer
For iCount = 1 To Len(sMenu)
if Mid(sMenu, iCount,1) = 0 Then Toolbar1.Buttons(iCount).Enabled = False
Next iCount
Funcionou, mas ocorreu o problema de carregar os botoes da toolbar porque eles não estão em sequencia, tipo:
O botão 1 é estilo Separator
O botão 2 é Clientes
O 3 é Pedidos
O 4 é Vistorias
O 5 é estilo separator
O 6 é Configurações
O 7 é Relatorios
O 8 é Sair
Eu acho que ocorre esse problema pois O Icount esta seguindo a numeração dos botões em sMenu..
sim... ele segue o padrão...
mas com este exemplo vc já pode ter uma base...
mas com este exemplo vc já pode ter uma base...
Blz, ja tive uma idéia...Vou fazer o seguinte
Só vou adicionar mais dois campos na tabela...Separator1 e Separatore...Dai deixo como padrão..Não.
Valeu pela ajuda...
Só vou adicionar mais dois campos na tabela...Separator1 e Separatore...Dai deixo como padrão..Não.
Valeu pela ajuda...
Tópico encerrado , respostas não são mais permitidas