NIVEIS DE ACESSO

MAICONLS 11/07/2005 19:15:35
#93507
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..

USUARIO.EXCLUIDOS 12/07/2005 00:15:14
#93534
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)...
JEAN.JEDSON 12/07/2005 08:07:46
#93548
Resposta escolhida
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
MAICONLS 12/07/2005 09:27:54
#93567
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..
JEAN.JEDSON 12/07/2005 09:38:13
#93569
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
MAICONLS 12/07/2005 09:53:42
#93577
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).......
MAICONLS 12/07/2005 11:05:13
#93599
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..
JEAN.JEDSON 12/07/2005 11:47:21
#93610
sim... ele segue o padrão...
mas com este exemplo vc já pode ter uma base...
MAICONLS 12/07/2005 11:54:39
#93612
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...
Tópico encerrado , respostas não são mais permitidas