Bonjour,
Impossible de trouver du code permettant de remplacer, en VBA, un mot de passe par un autre dans une base ACCESS-2007 (accdb) pour laquelle un mot de passe est requis.
L'instruction NewPassword ne donne pas le résultat escompté.
Par ex, le code suivant donne systématiquement un err.Number 3621 : "base de données ouverte en mode partagé". Pourtant dans Options Access/Avancé le mode exclusif est activé !
NB : Bien entendu, cette base fonctionne parfaitement, y compris la demande de mot de passe puis son ouverture.
Merci d'avance...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Sub ChangeMotPass()On Error GoTo err Dim odb As DAO.Database Set odb = CurrentDb If IsNull(TextAncien) Then txtX = "" Else txtX = TextAncien If IsNull(TextNouveau) Then txtY = "" Else txtY = TextNouveau odb.NewPassword txtX, txtY MsgBox "Mot de passe changé"fin:Set odb = NothingExit Sub err:Select Case err.Number Case 3031End SubMsgBox "Mot de passe non valide", vbCritical, "Sécurité"Case ElseMsgBox "Une erreur est survenue pendant le changement du mot de passe", vbCritical, "Erreur"End Select Resume fin
Partager