validar tipo de uti...
 
Notifications
Clear all

validar tipo de utilizador e desabilitar botão de form

9 Posts
3 Usuários
0 Reactions
2,540 Visualizações
 jrm
(@jrm)
Posts: 34
Eminent Member
Topic starter
 

Boa Noite Srs mestres

Estou necessitando de uma ajuda vossa, tenho uma planilha com controle de acessos por usuário, quando o usuário e a senha for valida abre o formulário menu.
Agora estou necessitando acrescentar a validação de tipo de usuário, e pretendia que se o tipo de usuário for "básico", ao abrir o formulário menu desative o botão "gestãoBD", é possível fazer isso? como devo fazer?
Preciso também proteger o código VBA, já vi alguns exemplos em que ao ir ver as macros elas não aparecem, mas não consegui perceber como se faz isso podem ajudar.
Abaixo envio a macro do botão ok no formulário acesso, que valida o usuário e a senha, os dados de login estão na sheet login pela segunte ordem usuário, senha, tipousuario.
Private Sub CommandButtonok_Click()
If Txtlogin = "" Then
MsgBox "Digite o usuário.", vbInformation, "AVISO"
Exit Sub
Txtlogin.SetFocus
Else
If txtsenha = "" Then
MsgBox "Digite a senha.", vbInformation, "AVISO"
Exit Sub
txtsenha.SetFocus
End If
End If

col = 2
lin = 2
While (Sheets("LOGIN").Cells(lin, col) <> Txtlogin)
lin = lin + 1
If lin > 100 Then
MsgBox "Usuário não cadastrado.", vbCritical, "ATENÇÃO"
Exit Sub
End If
Wend
Dim nivel As String
Dim senha As String
lin1 = 2
col1 = 3
senha = Sheets("LOGIN").Cells(lin, col1).Value

If txtsenha <> senha Then
MsgBox "Senha incorreta.", vbCritical, "ATENÇÃO"
Exit Sub
Else
col2 = clo1 + 1
MsgBox "Bem-vindo(a) " & Txtlogin & ".", vbInformation, "SUCESSO"
nivel = Sheets("login").Cells(lin, col2).Value
lin1 = 2
col1 = 3
While (Sheets("LOGs").Cells(lin1, col1) <> "")
lin1 = lin1 + 1
Wend
Sheets("LOGS").Cells(lin1, 1) = lin
Sheets("LOGS").Cells(lin1, 2) = Txtlogin.Value
Sheets("LOGS").Cells(lin1, 3) = Time
Sheets("LOGS").Cells(lin1, 4) = Date
Sheets("LOGS").Cells(lin1, 5) = Sheets("LOGIN").Cells(lin, 5).Value
Sheets("LOGS").Visible = xlSheetVisible
Sheets("Logs").Visible = False
Menu.Show
teste
Hide
End If
End Sub

Obrigado pelo vossa ajuda

 
Postado : 11/01/2014 6:26 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

jrm,

Boa Noite!

Compacte seu arquivo e anexo o mesmo aqui. Assim ficará mais claro e compreensível o que você quer e mais fácil de poder ajudar.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 11/01/2014 8:07 pm
 jrm
(@jrm)
Posts: 34
Eminent Member
Topic starter
 

Bom dia
E Desde já obrigado pela pronta resposta, tentativa de ajuda e partilha de conhecimento.
Em anexo coloco a BD em causa.
o que pretendo é que depois de validar o utilizador, ele verifique se o tipo de utilizador é básico e nesse caso desabilite o botão gestão da BD do form menu.

 
Postado : 12/01/2014 6:06 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Onde estão os arquivos???

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 12/01/2014 9:09 am
 jrm
(@jrm)
Posts: 34
Eminent Member
Topic starter
 

Não estou a conseguir anexar porque mesmo depois de eliminar os dados da bd e zipar continua com 1,01mb

 
Postado : 12/01/2014 12:49 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

compacte o arquivo, dividindo-o em 2 ou 3 arquivos. Depois anexe cada um deles separadamente.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 12/01/2014 7:24 pm
 jrm
(@jrm)
Posts: 34
Eminent Member
Topic starter
 

tentei novamente mas não consegui, o "front end" tem 1,5 MB mesmo compactando com winrar fica com 1,01mb .

 
Postado : 13/01/2014 5:25 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

jrm, pelo que vi em sua rotina o Front End tem somente as Sheets("LOGIN") e Sheets("LOGs"), provavelmente tenha uma Inicial tambem, se for só elas e não tiverem dados não é para ter este tamanho, procure deletar todas as abas que não tiver utilizando, bem como limpar todas as celulas em branco com o comando LIMPAR TUDO, o excel tem a caracteristica de considerar celulas utilizadas e deletadas como se tivessem dados, assim reduzirá consideravelmente o tamanho do arquivo, de uma olhada nestes tópicos:

Como reduzir o tamanho de uma planilha?
viewtopic.php?f=28&t=3023

Reduza o tamanho das planilhas !
http://www.tomasvasquez.com.br/forum/vi ... tRqFtJdXQQ

Quanto a questão de desabilitar o botão "gestãoBD" se o mesmo estiver no formulário Menu, crie em sua rotina de acesso uma Variável Publica, vamos chama-la de sBtGestaoBd.

Ficaria da seguinte forma, somente exemplificando, em um Modulo separado adicione a variavel :

Public sBtGestaoBd as Boolean

em seu Formulário na rotina:
Private Sub CommandButtonok_Click(), pelo que entendi na linha abaixo é informado o sucesso do login, então logo abaixo da mensagem coloque:

MsgBox "Bem-vindo(a) " & Txtlogin & ".", vbInformation, "SUCESSO"
sBtGestaoBd = True

E no evento Private Sub UserForm_Initialize() do formulario Menu, logo no inicio adicione :
If sBtGestaoBd = True Then
gestãoBD.Enabled = False
End If

Nas linhas acima, sempre que a variavel for verdadeira irá desabilitar o Botão, como eu disse é só um exemplo, você teria de adicionar as Condições dos Usuários e redefinir a Variável para cada um, lembrando que a Variável do Tipo Boolean sempre é iniciada como False.

Se não conseguiu captar e nem diminuir seu arquivo procure coloca-lo em drive virtual tipo o sendspace ou o 4Shared e depois coloque o link para pódermos baixar a qui no forum.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 13/01/2014 5:57 pm
 jrm
(@jrm)
Posts: 34
Eminent Member
Topic starter
 

Boa Noite
Obrigado pela ajuda, já consegui fazer o que pretendia,
no formulário menu acrescentei na macro inicializar, desabilitar os botões que pretendia caso o ultimo registo do formulário logs no tipo de usuário fosse basico, como nesse form ficam registados os usuários logados, foi mais fácil.

 
Postado : 18/01/2014 3:09 pm