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

وضع كلمة سر لفتح قاعدة البيانات باستخدام الشيفت

بدأه Abo_Yossof في 9 أكتوبر 2010 · 26 رد · 2,765 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

و قدم الاخ محمد وليد فكرة رائعة للتحايل على ذلك

و تم تنقيح الكود للوصول الى شكل يحاكى الشكل العادى عند استخدام مفتاح الشيفت مع امكانية وضع كلمة سر لفتح القاعدة باستخدام مفتاح الشيفت

و لكن من المناقشات وجدت ان بعض الاخوه يجد صعوبة فى تطبيق الكود لذلك فقد قمت بتعديل الكود حتى لا يحتاج الا الى سطر واحد فقط لتطبيقه

و باقى الكود تم وضعه فى وحدة نمطية و تم اضافة امكانية وضع كلمة سر او الغاؤها

لتطبيق الكود على أى برنامج لديك اتبع الخطوات التالية :-

1- افتح وحدة نمطية جديدة و ضع بها هذا الكود ( او اعمل استيراد للوحدة النمطية من المرفق )

Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Const KEY_MASK As Integer = &HFF80 ' decimal -128

 Private Const VK_LSHIFT = &HA0
 Private Const VK_RSHIFT = &HA1
 Private Const BothLeftAndRightKeys = 0
 Private Const LeftKey = 1
 Private Const RightKey = 2
 Private Const LeftKeyOrRightKey = 3
 Dim Withshift As Boolean

Public Function IsShiftKeyDown(Optional LeftOrRightKey As Long = LeftKeyOrRightKey) As Boolean
    Dim Res As Long

    Select Case LeftOrRightKey
        Case LeftKey
            Res = GetKeyState(VK_LSHIFT) And KEY_MASK
        Case RightKey
            Res = GetKeyState(VK_RSHIFT) And KEY_MASK
        Case BothLeftAndRightKeys
            Res = (GetKeyState(VK_LSHIFT) And GetKeyState(VK_RSHIFT) And KEY_MASK)
        Case Else
            Res = GetKeyState(vbKeyShift) And KEY_MASK
    End Select

    IsShiftKeyDown = CBool(Res)
End Function

Public Sub check_shift(frm As String, Optional pwd As String, Optional yourtoolbar As String)

On Error Resume Next
Dim db As Database
Set db = CurrentDb
Dim prp As Property
Withshift = False
Dim passwd As String

 If pwd = "" Then Exit Sub

 Set prp = db.CreateProperty("AllowByPassKey", dbBoolean, False)
 db.Properties.Append prp

With DoCmd
.SelectObject acForm, "", True
.RunCommand acCmdWindowHide
End With

DoCmd.ShowToolbar "yourtoolbar1", acToolbarYes

Dim i As Integer
For i = 1 To CommandBars.Count
If CommandBars(i).Name <> "yourtoolbar1" Then CommandBars(i).Enabled = False
Next i

If IsShiftKeyDown = True Then
    passwd = InputBox("تم استخدام مفتاح الشيفت ، لذا سيتم فتح القاعدة في الخلفية" & vbCrLf & "أدخل كلمة السر  " & vbCrLf, "الدخول الى التصميم ")

  If passwd = pwd Then
     For i = 1 To CommandBars.Count
      CommandBars(i).Enabled = True
     Next i

    DoCmd.SelectObject acForm, , True
    Withshift = True
    DoCmd.Close acForm, frm

 ElseIf passwd = "" Or passwd = Empty Then
    MsgBox "No Input Provided"
    DoCmd.Quit

 Else  'If passwd <> "123456" Then
    MsgBox "Sorry, you do not have access to these information"
    DoCmd.Quit
 End If
End If

End Sub

2- فى حدث عند الفتح لنموذج startup

الكود التالى

Call check_shift(Me.Name, "123")

حيث كلمة السر هى 123

و يمكنك التحكم بها كما تشاء

يمكنك ايضا اضافة شريط الادوات الذى تريد اظهاره بهذا الشكل

Call check_shift(Me.Name, "123","mytools")

حيث ان اسم شريط الادوات هو mytools

يمكنك ايقاف الكود بحذف كلة السر هكذا

Call check_shift(Me.Name)

او

Call check_shift(Me.Name, "")

و بالمرفق مثال على ذلك

كلمة السر هى 123

ارجو الفائدة للجميع

و لا تنسونا من صالح الدعاء

MrNo_shift_check.rar

تم تعديل هذه المشاركة بواسطة Abo_Yossof في 9 أكتوبر 2010 في 21:53

6

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#2

الله يبارك فيك أخي أبو يوسف على هذا المجهود الرائع

جزاك الله كل خير وأدامك ذخرا للمسلمين

إلى الأمام إن شاء الله تعالى +1

post-12787-12741339659298.jpg

ومامن يد إلا يد الله فوقها *** وما من ظالم إلا سيبلى بأظلم

تفضل أخي الكريم | موسوعة الحميدي الذهبية | بأجزائها الثلاثة مع هدية الموسوعة .

#3

بارك الله فيك أخي العزيز أبو يوسف ، جهد كبير ، وعمل رائع ،

وفقك الله إلى كل خير

+1

أخي hamidymom حمدا لله على سلامتك .. المنتدى نور

#4
hamidymom كتب:

الله يبارك فيك أخي أبو يوسف على هذا المجهود الرائع

جزاك الله كل خير وأدامك ذخرا للمسلمين

إلى الأمام إن شاء الله تعالى +1

اخى محمد الشكر موصول لك فانت صاحب الفكرة فى الاصل

hassaan100 كتب:

بارك الله فيك أخي العزيز أبو يوسف ، جهد كبير ، وعمل رائع ،

وفقك الله إلى كل خير

+1

أخي hamidymom حمدا لله على سلامتك .. المنتدى نور

اشكرك اخ حسان و بارك الله فيك

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#5

ان كان الابداع من ابا يوسف فلا عجب

بارك الله لك وحفظك

وجزاك الله خيرااااااا

سبحان الله وبحمده سبحان الله العظيم .. سبحان الله . الحمد لله . لا اله الا الله . الله اكبر .. استغفر الله . استغفر الله . استغفر الله

يارب احمى دينى وبلدى من كيد الاعداء والخائنين بحبك يا مصر بحبك يا مصر بحبك يا مصر

 


 


3.gif

#6

ربي يعطيك العافيه

على هذا الشرح

#7

مشكووووووووووووووووور أخوي وجازاك الله خيراً

وجعله في ميزان حساناتك

إن كانت النفوس كباراً **** تعبت في مرداها الأجسام

.:: علي العامر ::.

مبرمج أكسس وفيجوال يبلغ من العمر 16 سنة

#8

استاذي الكريم ابو يوسف

مثال رائع جدا

ولكن هل ممكن ان يكون الرقم السري غير ظاهر عند الكتابة

اقصد ان يظهر بهذا الشكل *** وليس 123

مع خالص شكري

#9

معلم يا ابو يوسف +1

مرفق ملف لعمل الباسورد نجوم

الباسورد على شكل نجوم.rar

#10

ماشاء الله اخي واستاذي ابو يوسف

دائما تتحفنا باعمالك الرائعة

بارك الله فيك و صدقني تستاهل اكثر من +1

واقول للاخ محمد نورت المنتدى

#11

ما شاء الله ابداع متواصل

جزاكم الله كل خير

ادّبني الدهر اراني نقص عقلي - وكلّما ازددت علما ازداد علمي بجهلي

#12

اشكركم جميعا اخوانى على هذه الكلمات الجميلة

و هذه الروح الرائعة

و اليكم المثال بعد التعديل لاخفاء كلمة السر

MrNo_shift_check.rar

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#13

اخي ابو يوسف

عند استخدام هذا الكود لاحظت في برنامجي اختفاء قائمة الزر الايمن في البرنامج

ارجو تحديد مكان هذا الكود وكيف يمكن تفعيله واعادة الغاءه

وبارك الله فيك

سيد الاستغفار

{ اللهم أنت ربي لا إله إلا أنت خلقتني وأنا عبدك وأنا على عهدك ووعدك ما استطعت أعوذ بك من شر ما صنعت أبوء لك بنعمتك علي وأبوء لك بذنبي فاغفر لي فإنه لا يغفر الذنوب إلا أنت}

من قالها من النهار موقنا بها فمات من يومه قبل أن يمسي فهو من أهل الجنة ومن قالها من الليل وهو موقن بها فمات قبل أن يصبح فهو من أهل الجنة .رواه البخاري

#14

الكود موجود فى الوحدة النمطية mod_shift_check

و هو

If CommandBars(i).Name <> yourtoolbar Then CommandBars(i).Enabled = False

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#15

اخي ابو يوسف

لقد قمت بتغيير False الى True في السطر المذكور اعلاه ولكن الذي حدث ظهرت قائمة الزر الايمن وايضا شريط القوائم اعلاه

وانا اريد فقط اظهار قائمة الزر الايمن وليس شريط القوائم حتى لا يتم العبث بالتصميم

اتمنى مساعدتي

وبارك الله فيك ،،

سيد الاستغفار

{ اللهم أنت ربي لا إله إلا أنت خلقتني وأنا عبدك وأنا على عهدك ووعدك ما استطعت أعوذ بك من شر ما صنعت أبوء لك بنعمتك علي وأبوء لك بذنبي فاغفر لي فإنه لا يغفر الذنوب إلا أنت}

من قالها من النهار موقنا بها فمات من يومه قبل أن يمسي فهو من أهل الجنة ومن قالها من الليل وهو موقن بها فمات قبل أن يصبح فهو من أهل الجنة .رواه البخاري

#16

اخ ابو يوسف

هل يوجد لها حل ام لا ؟

سيد الاستغفار

{ اللهم أنت ربي لا إله إلا أنت خلقتني وأنا عبدك وأنا على عهدك ووعدك ما استطعت أعوذ بك من شر ما صنعت أبوء لك بنعمتك علي وأبوء لك بذنبي فاغفر لي فإنه لا يغفر الذنوب إلا أنت}

من قالها من النهار موقنا بها فمات من يومه قبل أن يمسي فهو من أهل الجنة ومن قالها من الليل وهو موقن بها فمات قبل أن يصبح فهو من أهل الجنة .رواه البخاري

#17

اخى مادمت تريد فقط تفعيل قائمة الزر الايمن

استخدم هذا الكود فى النموذج

Call check_shift(Me.Name, "123", "Form View Control")
1

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#18

اخي ابو يوسف

الطريقة لم تنجح

ارجو الافادة

سيد الاستغفار

{ اللهم أنت ربي لا إله إلا أنت خلقتني وأنا عبدك وأنا على عهدك ووعدك ما استطعت أعوذ بك من شر ما صنعت أبوء لك بنعمتك علي وأبوء لك بذنبي فاغفر لي فإنه لا يغفر الذنوب إلا أنت}

من قالها من النهار موقنا بها فمات من يومه قبل أن يمسي فهو من أهل الجنة ومن قالها من الليل وهو موقن بها فمات قبل أن يصبح فهو من أهل الجنة .رواه البخاري

#19

هل عدلت فى تعدادات startup للقاعدة ؟

اذا كانت الاجابة نعم

فضع علامة صح ( فعل جميع الاعدادات ) لان الكود يؤدى الهدف )

و سيعمل معك الكود ان شاء الله

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#20

اخي ابو يوسف

لم افهم ما تقصد باعدادات startup

يرجى التوضيح ... عذرا على الازعاج

سيد الاستغفار

{ اللهم أنت ربي لا إله إلا أنت خلقتني وأنا عبدك وأنا على عهدك ووعدك ما استطعت أعوذ بك من شر ما صنعت أبوء لك بنعمتك علي وأبوء لك بذنبي فاغفر لي فإنه لا يغفر الذنوب إلا أنت}

من قالها من النهار موقنا بها فمات من يومه قبل أن يمسي فهو من أهل الجنة ومن قالها من الليل وهو موقن بها فمات قبل أن يصبح فهو من أهل الجنة .رواه البخاري

#21

اقصد اعدادات بدء التشغيل لقاعدة البيانات

كما بالصورة

post-193330-066141400 1287786694_thumb.j

المرفقات
1.JPG

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#22

صحيح

هذه الاعدادات مفعلة جميعها لدي ، ولم تنجح

لقد قمت بعمل مثال في المرفقات ، يرجى الاطلاع عليه

db1.rar

سيد الاستغفار

{ اللهم أنت ربي لا إله إلا أنت خلقتني وأنا عبدك وأنا على عهدك ووعدك ما استطعت أعوذ بك من شر ما صنعت أبوء لك بنعمتك علي وأبوء لك بذنبي فاغفر لي فإنه لا يغفر الذنوب إلا أنت}

من قالها من النهار موقنا بها فمات من يومه قبل أن يمسي فهو من أهل الجنة ومن قالها من الليل وهو موقن بها فمات قبل أن يصبح فهو من أهل الجنة .رواه البخاري

#24

اخي العزيز ابو يوسف

لا اعرف ماذا اقولك

انا والله عاجز عن شكرك

واود ان اسئلك :

1- هل تم تغيير شيء في الكود في مثالي السابق ؟ لاني لم الحظ اي تغيير

2- في النموذج الفرعي اذا لاحظت لم يطبق الامر وهذا الاهم !

ارجو الافادة وبارك الله فيك

سيد الاستغفار

{ اللهم أنت ربي لا إله إلا أنت خلقتني وأنا عبدك وأنا على عهدك ووعدك ما استطعت أعوذ بك من شر ما صنعت أبوء لك بنعمتك علي وأبوء لك بذنبي فاغفر لي فإنه لا يغفر الذنوب إلا أنت}

من قالها من النهار موقنا بها فمات من يومه قبل أن يمسي فهو من أهل الجنة ومن قالها من الليل وهو موقن بها فمات قبل أن يصبح فهو من أهل الجنة .رواه البخاري

#25

بالنسبة للاستفسار الاول

الخطأ كان بالوحدة النمطية و ذلك لوجود علامتى تنصيص زائدتين

بالنسبة للاستفسار الثانى بالمرفق تم فتح جميع الاشرطة الخاصة بالنماذج

db1.rar

1

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

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