الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كود تغيير كلمة المرور برمجيا... هل من أحد لاصلاحه؟؟

بدأه Smart-flashes في 19 يناير 2012 · 2 رد · 477 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأفاضل مشرفو وأعضاء المنتدى.. السلام عليكم

وجدت هذا الكود في موقع شركة ميكروسوفت وهو لتغيير كلمة مرور قاعدة البيانات برمجيا.. لكن المشكلة أنني حاولت بكل الطرق تطبيق الكود وعمل تغييرات به ولكن مازالت هناك مشكلة.. أرجو لمن يتوصل لإصلاحه أن يساعدني وجزاكم الله خير..

موقع ميكروسوفت:

http://msdn.microsoft.com/en-us/library/aa139961(v=office.10).aspx#odc_acsecurity_password

الكود

Private Function ChangeDBPassword(ByVal OldPassword As String, _
        ByVal NewPassword As String, ByVal Path As String) As Boolean
    Dim objConn as ADODB.Connection
    Dim strAlterPassword as String

    On Error GoTo ChangeDBPassword_Err

    ' Create the SQL string to change the database password.
    strAlterPassword = "ALTER DATABASE PASSWORD [Your NewPassword] [Your OldPassword];"

    ' Open the secured database.
    Set objConn = New ADODB.Connection
    With objConn
        .Mode = adModeShareExclusive
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .Properties("Jet OLEDB:Database Password") = "OldPassword"
        .Open "Data Source=[Your Path];" 

        ' Execute the SQL statement to change the password.
        .Execute (strAlterPassword)
    End With

    ' Clean up objects.
    objConn.Close
    Set objConn = Nothing 

    ChangeDBPassword = True

ChangeDBPassword_Err:
    Msgbox Err.Number & ":" & Err.Description
    ChangeDBPassword = False 
End Function
#2

اخي الفاضل

السلام عليكم ورحمة الله وبركاته

الكود يعمل بشكل صحيح وليس به اي خطأ ولكن قد يكون انك لم تعرف طؤيقة استخدامه بالشكل الصحيح

حسنا دعنا نشرح معايير الكود التي يجب عليك وضعها

Private Function ChangeDBPassword(ByVal OldPassword As String, _
        ByVal NewPassword As String, ByVal Path As String) As Boolean
    Dim objConn As ADODB.Connection
    Dim strAlterPassword As String
    On Error GoTo ChangeDBPassword_Err

    strAlterPassword = "ALTER DATABASE PASSWORD [123] [456];"

    Set objConn = New ADODB.Connection
    With objConn
        .Mode = adModeShareExclusive
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .Properties("Jet OLEDB:Database Password") = "456"
        .Open "Data Source=database.mdb;"

        .Execute (strAlterPassword)
    End With

    objConn.Close
    Set objConn = Nothing

    ChangeDBPassword = True

ChangeDBPassword_Err:
    MsgBox Err.Number & ":" & Err.Description
    ChangeDBPassword = False
End Function

لاحظ معي جيدا ابتداء من هذا السطر وكيف سيتم التغيير

strAlterPassword = "ALTER DATABASE PASSWORD [123] [456];"

[123] هذا هو الرقم السري القديم الخاص بقاعدة البيانات الخارجيه وليست الحالية ( قم بتغييره لما يوجد لديك من رقم سري لقاعدة البيانات الخارجية )

[456] هذا هو الرقم السري الجديد الذي تريد تغييره بالقديم ( قم بتغييره لما تريد )

ايضا هنا في هذا السطر

 .Properties("Jet OLEDB:Database Password") = "456"

"456" هذا الرقم السري القديم

وايضا هنا في هذا السطر

 .Open "Data Source=database.mdb;"

database.mdb اسم قاعدة البيانات الخارجية التي تريد تغيير الرقم السري لها

بعد الإنتهاء من تجهيز كل المعايير السابقة في الكود نقوم بإستدعاء الدالة بهذه الطريقة تحت زر أمر في النموذج

Private Sub OK_Click()
Call ChangeDBPassword(OldPassword, NewPassword, "c:\zadatabase\database.mdb")
End Sub

OldPassword = 123

NewPassword=456

c:\zadatabase\database.mdb مسار قاعدة البيانات كامل

في كل مره تريد تغيير الرقم السري لقاعدة البيانات الخارجية برقم جديد يجب ان تكتب الرقم السري القديم والجديد في الداله .

بالتوفيق

1
#3
zahrah كتب:

اخي الفاضل

السلام عليكم ورحمة الله وبركاته

الكود يعمل بشكل صحيح وليس به اي خطأ ولكن قد يكون انك لم تعرف طؤيقة استخدامه بالشكل الصحيح

حسنا دعنا نشرح معايير الكود التي يجب عليك وضعها

Private Function ChangeDBPassword(ByVal OldPassword As String, _
        ByVal NewPassword As String, ByVal Path As String) As Boolean
    Dim objConn As ADODB.Connection
    Dim strAlterPassword As String
    On Error GoTo ChangeDBPassword_Err

    strAlterPassword = "ALTER DATABASE PASSWORD [123] [456];"

    Set objConn = New ADODB.Connection
    With objConn
        .Mode = adModeShareExclusive
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .Properties("Jet OLEDB:Database Password") = "456"
        .Open "Data Source=database.mdb;"

        .Execute (strAlterPassword)
    End With

    objConn.Close
    Set objConn = Nothing

    ChangeDBPassword = True

ChangeDBPassword_Err:
    MsgBox Err.Number & ":" & Err.Description
    ChangeDBPassword = False
End Function

لاحظ معي جيدا ابتداء من هذا السطر وكيف سيتم التغيير

strAlterPassword = "ALTER DATABASE PASSWORD [123] [456];"

[123] هذا هو الرقم السري القديم الخاص بقاعدة البيانات الخارجيه وليست الحالية ( قم بتغييره لما يوجد لديك من رقم سري لقاعدة البيانات الخارجية )

[456] هذا هو الرقم السري الجديد الذي تريد تغييره بالقديم ( قم بتغييره لما تريد )

ايضا هنا في هذا السطر

 .Properties("Jet OLEDB:Database Password") = "456"

"456" هذا الرقم السري القديم

وايضا هنا في هذا السطر

 .Open "Data Source=database.mdb;"

database.mdb اسم قاعدة البيانات الخارجية التي تريد تغيير الرقم السري لها

بعد الإنتهاء من تجهيز كل المعايير السابقة في الكود نقوم بإستدعاء الدالة بهذه الطريقة تحت زر أمر في النموذج

Private Sub OK_Click()
Call ChangeDBPassword(OldPassword, NewPassword, "c:\zadatabase\database.mdb")
End Sub

OldPassword = 123

NewPassword=456

c:\zadatabase\database.mdb مسار قاعدة البيانات كامل

في كل مره تريد تغيير الرقم السري لقاعدة البيانات الخارجية برقم جديد يجب ان تكتب الرقم السري القديم والجديد في الداله .

بالتوفيق

أختي الفاضلة

أشكرك على مجهودك لكن للأسف الكود ما زال لا يعمل وتظهر رسالة خطأ

أرفقت قاعدة بيانات بها الكود والمطلوب.

أرجو إن أمكنك تعديل الكود وتجريبه على القاعدة المرفقة

أشكرك

تم تعديل هذه المشاركة بواسطة Smart-flashes في 22 يناير 2012 في 02:40

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…