Convidado 13/9/2011, 21:34
Solução na net...
Private Sub cmdTrocaSenha_Click()
If IsNull(txtNovaSenha1) Then
MsgBox "Informe a nova Senha", vbCritical, "Bloqueio"
ElseIf IsNull(txtNovaSenha2) Then
MsgBox "Informe a nova Senha de verificação", vbCritical, "Bloqueio"
ElseIf txtNovaSenha1 <> txtNovaSenha2 Then
MsgBox "Verifique a Nova Senha", vbCritical, "Bloqueio"
Else
'Troca a senha na Base de Dados
MsgBox
CurrentDb.Containers("Databases").Documents("UserDefined").Properties("Pass").Va\
lue
CurrentDb.Containers("Databases").Documents("UserDefined").Properties("Pass").Va\
lue = txtNovaSenha1
MsgBox
CurrentDb.Containers("Databases").Documents("UserDefined").Properties("Pass").Va\
lue
CurrentDb.Containers("Databases").Documents("UserDefined").Properties("Pass").Va\
lue = txtNovaSenha1
Set Banco =
OpenDatabase(CurrentDb.Containers("Databases").Documents("UserDefined").Properti\
es("LocalTabelasAnexadas").Value, True, False, ";pwd=" & txtSenhaAtual)
Banco.NewPassword txtSenhaAtual, txtNovaSenha1
Set Banco = Nothing
'Troca a Senha no sistema
CurrentDb.Containers("Databases").Documents("UserDefined").Properties("Pass").Va\
lue = txtNovaSenha1
'Revincula com a nova Senha
Call
AtualizarVinculos(CurrentDb.Containers("Databases").Documents("UserDefined").Pro\
perties("LocalTabelasAnexadas"))
MsgBox "Senha Alterada com Sucesso", vbInformation, "Informação"
DoCmd.Close acForm, Me.Name
End If
End Sub
tive que modificar a opção de abertura para Exclusivo
e tive que fechar o banco depois da alteração da senha
e tive que alterar lá no modulo de vinculação
que estava como Private Function AtualizarVinculos(strNomeDoArq As String) As
Boolean
retirei o Private e tudo funcionou perfeitamente.