عملت فورم معين ومن خلاله يوجد زر ادخل منه على فورم اخر
اريد عن الضغط على هذا الزر اظهار مربع يطلب كلمة سر حتى يفتح الفورم الاخر
:wacko:
thanks
عملت فورم معين ومن خلاله يوجد زر ادخل منه على فورم اخر
اريد عن الضغط على هذا الزر اظهار مربع يطلب كلمة سر حتى يفتح الفورم الاخر
:wacko:
thanks
Computer Engineer
2007
"اللهم يا مثبت القلوب ثبت قلبي على دينك "
ولدتك امك باكيا والناس حولك يضحكون سرورا
فافعل لنفسك ان تكون اذا بكوا في يوم موتك ضاحكا مسرورا
اخي الفاضل
السلام عليكم ورحمة الله وبركاته
ضع تحت زر الامر الخاص بك في حدث عند النقر الكود التالي وغير ما يلزم من اسماء النماذج او الرسائل التي ان تظهر والرقم السري فهذا معمول للمثال المرفق
Private Sub MASTER_Click()
Dim strPasswd
strPasswd = InputBox("الرجاء ادخال الرقم السري الصحيح", "Enter Password")
If strPasswd = "" Or strPasswd = Empty Then
MsgBox "لم يتم ادخال الرقم السري", vbInformation, "Required Data"
Exit Sub
End If
If strPasswd = "zahrah2006" Then
DoCmd.Close
DoCmd.OpenForm "P", acNormal
Else
MsgBox "معذرة اخي الكريم الرقم السري خاطىء", vbOKOnly, "Important Information"
Exit Sub
End If
End Subشرح الكود
MASTER هو اسم زر الامر الذي يتم الضغط عليه في النموذج الاول
نقوم بالتصريح لمتغير هو strPasswd ونوعه نص ( لانه يقبل حروف وارقام ) .
نجعل المتغير يساوي صندوق ادخال InputBox لكي يتم ادخال الرقم السري به وفي هذا الصندوق نضع عنوان له " الرجاء ادخال الرقم السري " .
نستخدم اداة الشرط IF للتحقق ان المتغير strPasswd الخاص بالرقم السري ليس فارغا فإذا كان فارغا تظهر رساله تخبر المستخدم انه لم يتم ادخال الرقم السري .
نستخدم الان الشرط للتحقق من الادخال الصحيح للرقم السري وهي عبارة IF
اذن نقول اذا كان المتغير strPasswd يساوي العبارة التالية "zahrah2006" وهي تمثل الرقم السري فهنا يتم اغلاق النموذج الاول وفتح النموذج الثاني وهو نموذج P
ايضا في حالة كان الرقم السري خاطىء ليس "zahrah2006" فتظهر رساله تخبر المستخدم ان الرقم السري خاطىء
وهذا مثال تطبيقي على هذه العملية
اختكم
زهره
تم تعديل هذه المشاركة بواسطة zahrah في 19 مايو 2006 في 13:07
شكرا كتييييييييييير
عنجد انك مبدعة
ما شاء الله .................
:o
Computer Engineer
2007
"اللهم يا مثبت القلوب ثبت قلبي على دينك "
ولدتك امك باكيا والناس حولك يضحكون سرورا
فافعل لنفسك ان تكون اذا بكوا في يوم موتك ضاحكا مسرورا
وفقك الله يازهرة واكثر الله من امثالك
ليه العطر وانتي انفاسك دخــــون وليه الكحل وانتي ماغيرك عيون
sun-alwadi@hotmail.com
جميل جميل جميل
بارك الله فيكي وجعلك الله من الذين يتعلمون العلم فيعلمون به الناس
السلام عليكم ورحمة الله وبركاته
هذا الكود الي انا ابحثه عنه ..والحمد لله لقيته هنا..بس ياليت لو كان في طريقة بحيث ما يظهر الرقم السري الي انا ادخله يعني يصير مثلا***** عشان يصير اكثر امان ...بليييييييييز اذا في احد يعرف كيف ممكن نعمله كذا يرد ..واكون شاكرة له..
تفضلي اختي الكريمه
الملف بعد التعديل
الآن كلمة السر اصبحت على شكل نجوم
كل ما عليك هو استيراد الوحدة النمطية رقم 2 الى برنامجك
ومن ثم نسخ الكود الذي تحت زر الأمر الى برنامج ايضا تحت زر الأمر الخاص بك
مع تغيير ما يلزم سواء كلمة المرور او فتح النموذج
كلمة المرور ستجدينها على النموذج الرئيسي
zahrah2006
الله يعطيك الف عافية اخت زهرة..جربت الكود وضبط معايه ..الف الف الف شكرا لك
السلام عليكم
المثل ممتاز بس فس سوال ؟؟؟
هلا استطيع ان اضع اكثر عن باسوورد لفتح هذا النموذج
zahrah2006
و
zahrah2007
و
fgdyt2990
نعم اخي الكريم تستطيع وضع عدد لا نهائي من الأرقام السريه
حسب الطريقة التالية :
هذا الكود الموجود تحت زر امر الدخول على النموذج الثاني والذي يطالبك بإدخال الرقم السري
Private Sub MASTER_Click() TimerId = SetTimer(0, 0, 1, AddressOf TimerProc) Dim MyPassword As String str_Title = "الرقم السري مطلوب" str_Prompt = "ادخل الرقم السري" MyPassword = InputBox(str_Prompt, str_Title) Select Case MyPassword Case "zahrah2006" MsgBox "تفضل بالدخول", , "الرقم السري صحيح" DoCmd.Close DoCmd.OpenForm "P", acNormal Case "zahrah2007" MsgBox "تفضل بالدخول", , "الرقم السري صحيح" DoCmd.Close DoCmd.OpenForm "P", acNormal Case "fgdyt2990" MsgBox "تفضل بالدخول", , "الرقم السري صحيح" DoCmd.Close DoCmd.OpenForm "P", acNormal Case Else MsgBox "تأكد من الرقم السري الصحيح", , "عذرا أخي الكريم ......الرقم السري خاطىء" Exit Sub End Select End Sub
كما تلاحظ من الكود ان السطر الأول يستدعي الوحدة النمطية رقم 2 ( Module2 ) المسئوله عن ترميز الرقم السري وجعلها على شكل نجموم
السطر الثاني نقوم بالتصريح لمتغير الرقم السري على شكل نص
السطر الثالث والرابع هي خاصة بعنوان و توقف صندوق ادخال الرقم السري
السطر الخامس نجعل قيمة المتغير الرقم السري هي قيمة صندوق الإدخال
السطر السادس نستخدم دالة الإختيار المتعدد Select Case لأنها سوف تعطينا مجال واسع لإضافة عدد لا نهائي من الأرقام السرية
السطر السابع نجعل قيمة الإختيار الأول هو الرقم السري مثلا "zahrah2006" لاحظ انني هنا وضعت الرقم السري بين علامتي تنصيص لأنه نص
السطر الثامن نظهر رساله في حالة كون الرقم السري مطابق لما هو موجود في الكود يعني صحيح
السطر التاسع نقوم بإغلاق النموذج الخاص بالدخول
السطر العاشر نقوم بفتح النموذج الثاني وهو هنا النموذج P في الوضع العادي
بقية السطور الخاصة بإختيار االرقم السري هي تكرار لما سبق شرحه
واخيرا نأتي في حالة كون الرقم السري غير صحيح لهذا سوف نستخدم Case Else
ونضع بعدها اظهار رسالة ان الرقم السري غير صحيح وهذه الرسالة توضع في آخر الكود لأنها هي الخيار الوحيد في حالة عدم تطابق الرقم السري مع ما تم وضعه من ارقام سريه
ونضع بعدها مباشرة انهاء الإجراء Exit Sub حتى لا يتم فتح النموذج الثاني
واخيرا ننهي جملة او عيارة Select بهذه العبارة End Select وهي نهاية الخيارات
الآن تستطيع اضافة او تغيير الأرقام السرية حسب رغبتك كل ما عليك هو نسخ هذه الأسطر
Case "zahrah2007" MsgBox "تفضل بالدخول", , "الرقم السري صحيح" DoCmd.Close DoCmd.OpenForm "P", acNormal
حتى لو رغبت في مليون رقم سري مختلف
مع مراعاة تغيير ما يلزم لديك من اسماء النماذج
وهذا هو المثال بعد التعديل
مشكورة يا اخة زهرة على الرد
هذا الموضوع مغلق.