dans mon prog je veux pouvoir changer le passe de ma base, que j'ai misd
ans une table "passe", je fais donc la prise en comtpe du nouveau passe
dans un inputbox :
ancien = InputBox("ancien passe :","","")
nouveau = InputBox ("ancien passe :","","")
If ancien = passe Then
sql = "update passe set lepasse = '" & nouveau & "'"
mabase.Execute (sql)
Else
MsgBox "Ancien passe erroné.", vbCritical, ""
Exit Sub
End If
mais si je tape tout de suite ce nouveau passe il n'ets pas reconnu,
comment faire pour que ma base soit actualisée de ce nouveau passe tout
de suite....
merci,
dav
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Marc
"dav" a écrit dans le message de news:41b1c992$0$9069$
dans mon prog je veux pouvoir changer le passe de ma base, que j'ai misd ans une table "passe", je fais donc la prise en comtpe du nouveau passe dans un inputbox :
ancien = InputBox("ancien passe :","","") nouveau = InputBox ("ancien passe :","","")
If ancien = passe Then sql = "update passe set lepasse = '" & nouveau & "'" mabase.Execute (sql) Else MsgBox "Ancien passe erroné.", vbCritical, "" Exit Sub End If
mais si je tape tout de suite ce nouveau passe il n'ets pas reconnu, comment faire pour que ma base soit actualisée de ce nouveau passe tout de suite....
Hello,
ça ne fonctionne pas comme ça.
Tu dois utiliser la propriété NewPassword de l'objet DB, comme ceci:
'Usage: Change DatabasePassword 'Parameters: sDBPath: Full Path to Access Database 'newPassword: the password 'oldPassword: the previous password 'returns true on success false otherwise
Public Function ChangeDatabasePassword(DBPath As String, _ newPassword As String, oldPassWord As String) As Boolean
Dim db As DAO.Database
On Error Resume Next
If Dir(DBPath) = "" Then Exit Function End
Set db = OpenDatabase(DBPath, True, False, ";pwd=" & oldPassWord) If Err.Number <> 0 Then Exit Function endif db.newPassword oldPassWord, newPassword db.Close ChangeDatabasePassword = (Err.number=0) End Function
Note: stocker le mot de passe en table n'est pas une bonne idée. C'est déjà fait, de façon cachée, par le système de protection de la DB. Il vaut mieux récupérer l'erreur qui surviendra lors du "db.nexPassword oldPassword, newPassword" si jamais oldPassword n'est pas le "bon" ancien mot de passe.
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
"dav" <dav49400-spam@wanadoo.fr> a écrit dans le message de
news:41b1c992$0$9069$8fcfb975@news.wanadoo.fr...
dans mon prog je veux pouvoir changer le passe de ma base, que j'ai misd
ans une table "passe", je fais donc la prise en comtpe du nouveau passe
dans un inputbox :
ancien = InputBox("ancien passe :","","")
nouveau = InputBox ("ancien passe :","","")
If ancien = passe Then
sql = "update passe set lepasse = '" & nouveau & "'"
mabase.Execute (sql)
Else
MsgBox "Ancien passe erroné.", vbCritical, ""
Exit Sub
End If
mais si je tape tout de suite ce nouveau passe il n'ets pas reconnu,
comment faire pour que ma base soit actualisée de ce nouveau passe tout
de suite....
Hello,
ça ne fonctionne pas comme ça.
Tu dois utiliser la propriété NewPassword de l'objet DB, comme ceci:
'Usage: Change DatabasePassword
'Parameters: sDBPath: Full Path to Access Database
'newPassword: the password
'oldPassword: the previous password
'returns true on success false otherwise
Public Function ChangeDatabasePassword(DBPath As String, _
newPassword As String, oldPassWord As String) As Boolean
Dim db As DAO.Database
On Error Resume Next
If Dir(DBPath) = "" Then
Exit Function
End
Set db = OpenDatabase(DBPath, True, False, ";pwd=" & oldPassWord)
If Err.Number <> 0 Then
Exit Function
endif
db.newPassword oldPassWord, newPassword
db.Close
ChangeDatabasePassword = (Err.number=0)
End Function
Note: stocker le mot de passe en table n'est pas une bonne idée. C'est
déjà fait, de façon cachée, par le système de protection de la DB. Il
vaut mieux récupérer l'erreur qui surviendra lors du "db.nexPassword
oldPassword, newPassword" si jamais oldPassword n'est pas le "bon"
ancien mot de passe.
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"dav" a écrit dans le message de news:41b1c992$0$9069$
dans mon prog je veux pouvoir changer le passe de ma base, que j'ai misd ans une table "passe", je fais donc la prise en comtpe du nouveau passe dans un inputbox :
ancien = InputBox("ancien passe :","","") nouveau = InputBox ("ancien passe :","","")
If ancien = passe Then sql = "update passe set lepasse = '" & nouveau & "'" mabase.Execute (sql) Else MsgBox "Ancien passe erroné.", vbCritical, "" Exit Sub End If
mais si je tape tout de suite ce nouveau passe il n'ets pas reconnu, comment faire pour que ma base soit actualisée de ce nouveau passe tout de suite....
Hello,
ça ne fonctionne pas comme ça.
Tu dois utiliser la propriété NewPassword de l'objet DB, comme ceci:
'Usage: Change DatabasePassword 'Parameters: sDBPath: Full Path to Access Database 'newPassword: the password 'oldPassword: the previous password 'returns true on success false otherwise
Public Function ChangeDatabasePassword(DBPath As String, _ newPassword As String, oldPassWord As String) As Boolean
Dim db As DAO.Database
On Error Resume Next
If Dir(DBPath) = "" Then Exit Function End
Set db = OpenDatabase(DBPath, True, False, ";pwd=" & oldPassWord) If Err.Number <> 0 Then Exit Function endif db.newPassword oldPassWord, newPassword db.Close ChangeDatabasePassword = (Err.number=0) End Function
Note: stocker le mot de passe en table n'est pas une bonne idée. C'est déjà fait, de façon cachée, par le système de protection de la DB. Il vaut mieux récupérer l'erreur qui surviendra lors du "db.nexPassword oldPassword, newPassword" si jamais oldPassword n'est pas le "bon" ancien mot de passe.
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."