Boa tarde e um excelente ano de 2021 para todos. Precisava da vossa ajuda pois tenho uma base de dados criada em 2010 que deixou de funcionar. entretanto coloquei PtrSafe nos locais que me estava a dar erro e funcionou, só a entrada com login continuou sem funcionar. Sera que alguma funcionalidade mudou no recordset, sql?
No fundo tem uma tabela com colaboradores e password e fazendo o login (na imagem em anexo) deveria fechar o formulario e abrir outro de entrada no sistema. O access reconhece o colaborador e se a pass esta correta mas não faz nada. e deixa alterar a pass mas não grava nada. O que me dá a entender que quando é necessário actualizar dados não está a fazer.
Ao clicar no botão entrar:
Private Sub ImgEntrar_Click()
Call Entrar
End Sub
depois chama este código
Private Sub Entrar()
Dim objUsuario As New classeUsuario
Dim intid_func As Integer
Dim strSenha As String
Dim intNivel As Integer
Dim MyDB As Database
Dim myset As Recordset
Dim myform As Form_F_IdentUtilz
Dim pp As String
Qry = ""
Qry = Qry + " SELECT id_func, senha"
Qry = Qry + " FROM [TBL_Colaborador]"
Qry = Qry + " WHERE (id_func = " & CodResCal & " )"
If IsNull(CaixaLogin.Value) Then
MsgBox "Escolha um nome para efectuar o login no sistema.", vbExclamation, "Login não informado..."
ElseIf IsNull(CaixaSenha.Value) Then
MsgBox "Digite a senha para efectuar o login no sistema.", vbExclamation, "Senha não informada..."
Else
intid_func = CaixaLogin.Value
strSenha = CaixaSenha.Value
If bloqueioGeral = "SIM" And intid_func <> "103" Then
MsgBox "O Sistema está boqueado. Somente o ADMINISTRADOR" & vbCrLf & _
"pode aceder neste momento." _
, vbExclamation, "Sistema Bloqueado"
Call encerrarAplicativo(True)
End If
If strSenha = criptografarSenha("123") Then
If verificaid_func(intid_func, strSenha) Then
MsgBox "Alterar a senha antes de efectuar o Login no sistema!", vbInformation, "Senha Padrão"
Call alterarSenha
Else
CaixaSenha.SetFocus
End If
ElseIf verificaid_func(intid_func, strSenha) Then
Call objUsuario.obter(intid_func)
If objUsuario.status = "DESATIVADO" Then
MsgBox "Caro Utilizador, seu Status no Sistema está configurado como DESATIVADO." & vbCrLf & _
"Qualquer dúvida entre com conctato com o Administrador(22397)." _
, vbExclamation, "Acesso Bloqueado"
Call encerrarAplicativo(True)
End If
Call letUsuarioAtual(intid_func)
Call letGrupoUsuarioAtual(objUsuario.dtGrupoUsuario.nomeGrupo)
Call letNivelUsuarioAtual(objUsuario.codGrupo)
DoCmd.Close
Call abreFormulario("GOS", getNivelUsuarioAtual)
Else
CaixaSenha.SetFocus
End If
End If
End Sub
será que conseguem perceber o que não está a funcionar direito?
Obrigada
No fundo tem uma tabela com colaboradores e password e fazendo o login (na imagem em anexo) deveria fechar o formulario e abrir outro de entrada no sistema. O access reconhece o colaborador e se a pass esta correta mas não faz nada. e deixa alterar a pass mas não grava nada. O que me dá a entender que quando é necessário actualizar dados não está a fazer.
Ao clicar no botão entrar:
Private Sub ImgEntrar_Click()
Call Entrar
End Sub
depois chama este código
Private Sub Entrar()
Dim objUsuario As New classeUsuario
Dim intid_func As Integer
Dim strSenha As String
Dim intNivel As Integer
Dim MyDB As Database
Dim myset As Recordset
Dim myform As Form_F_IdentUtilz
Dim pp As String
Qry = ""
Qry = Qry + " SELECT id_func, senha"
Qry = Qry + " FROM [TBL_Colaborador]"
Qry = Qry + " WHERE (id_func = " & CodResCal & " )"
If IsNull(CaixaLogin.Value) Then
MsgBox "Escolha um nome para efectuar o login no sistema.", vbExclamation, "Login não informado..."
ElseIf IsNull(CaixaSenha.Value) Then
MsgBox "Digite a senha para efectuar o login no sistema.", vbExclamation, "Senha não informada..."
Else
intid_func = CaixaLogin.Value
strSenha = CaixaSenha.Value
If bloqueioGeral = "SIM" And intid_func <> "103" Then
MsgBox "O Sistema está boqueado. Somente o ADMINISTRADOR" & vbCrLf & _
"pode aceder neste momento." _
, vbExclamation, "Sistema Bloqueado"
Call encerrarAplicativo(True)
End If
If strSenha = criptografarSenha("123") Then
If verificaid_func(intid_func, strSenha) Then
MsgBox "Alterar a senha antes de efectuar o Login no sistema!", vbInformation, "Senha Padrão"
Call alterarSenha
Else
CaixaSenha.SetFocus
End If
ElseIf verificaid_func(intid_func, strSenha) Then
Call objUsuario.obter(intid_func)
If objUsuario.status = "DESATIVADO" Then
MsgBox "Caro Utilizador, seu Status no Sistema está configurado como DESATIVADO." & vbCrLf & _
"Qualquer dúvida entre com conctato com o Administrador(22397)." _
, vbExclamation, "Acesso Bloqueado"
Call encerrarAplicativo(True)
End If
Call letUsuarioAtual(intid_func)
Call letGrupoUsuarioAtual(objUsuario.dtGrupoUsuario.nomeGrupo)
Call letNivelUsuarioAtual(objUsuario.codGrupo)
DoCmd.Close
Call abreFormulario("GOS", getNivelUsuarioAtual)
Else
CaixaSenha.SetFocus
End If
End If
End Sub
será que conseguem perceber o que não está a funcionar direito?
Obrigada