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

تحويل الرقم إلى نجوم سرية

مغلق
بدأه طلال في 7 سبتمبر 2001 · 16 رد · 1,650 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي كود من صنع الأستاذ مسافر وهو يخص فتح نموذج برقم سري كما يلي

Private Sub أمر29_Click()

On Error GoTo Err_أمر29_Click

MsgBox "لا يمكن الدخول إلا للمصرح لهم فقط", vbInformation, " حركة النقل "

Dim password, Pword

password = "1383"

Pword = InputBox("من فضلك ادخل الرقم السري", "إدخل الرقم السري")

If Pword <> password Then

MsgBox "الرقم غير صحيح ونأسف لعدم التمكين", vbInformation, "إعتذار"

End

End If

والمطلوب كيف يمكن عند ادخال الرقم السري inputbox

يكون بشكل نجمة حيث لا يظهر الرقم للأخرين

طلال

#2

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

الاخ / طلال

اتبع هذا الربط وفي عن الصلاحياته الكثير

http://arabteam.nicmatic.com/vb/showthread...p3?threadid=500

وتقبل تحياتي / مسافر

#3

حسب علمي وظيفة النجوم غير موجودة في دالة Inpubox ولكن يمكنك إنشاء نموذج شبيه بهذه الدالة عليه مربع نص قناع الإدخال له Password .

إن كنت ترغب في هذه الطريقة شرحتها لك .

ولك تحياتي

#4

ارجو ذلك يا ابوحمود وحبذا لو كان بمثال

#5

الأخ ابو حمود

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

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

#6

فائدة : سبق للأخ أبو حمود طريقة إنشاء نموذج محمي بكلمة مرور قابلة للتغيير في الوصلة التالية :

http://arabteam.nicmatic.com/vb/showthread...3?threadid=3444

وقد عودنا الاهتمام والإتحاف بالجديد . والله يجزاه كل خير

#7

الأخ طلال

1- أنشئ نموذج جديد في عرض التصميم واحفظه باسم نموذج الكلمة السرية.

2- غير الخصائص التالية له :

في صفحة التبويب تنسيق :

تعليق كلمة المرور مطلوبة

لا هذا ولاذاك

محددات السجلات لا

أزرار التنقل لا

الخطوط المقسمة لا

تغيير حجم تلقائي لا

توسيط تلقائي نعم

نمط الحدود مربع حوار

مربع عنصر التحكم نعم

زرا التصغير والتكبير بلا

اتجاه اليمين لليسار

العرض 10 سم

في صفحة التبويب غير ذلك :

منبثق إلى نعم .

مشروط نعم

أنشئ زري أمر الأول باسم موافق وفي تعليق اكتب موافق والثاني باسم إلغاء_الأمر وفي تعليق اكتب إلغاء الأمر ، ومقياس الزرين :

العرض 1.561سم

الارتفاع 0.714سم

أنشئ مربع نص باسم كلمة_المرور واحذف مربع العنوان التابع له واجعل عرضه 8.887سم وارتفاعه 0.499سم ، وفي خاصية قناع الإدخال اكتب Password ، واجعل المحاذاه له إلى اليمين .

أنشئ مربع عنوان بأي اسم لايهم واكتب فيها هذا النموذج محمي بكلمة مرور . ثم اضغط Ctrl+Enter لبدء سطر جديد ثم اكتب أكتب كلمة المرور في المربع أدناه لتتمكن من فتح النموذج : .

والرسالة أمر اختياري اكتب ماترغب أن يراه المستخدم .

لترتيب الجدولة بحيث يبدأ التركيز في حقل الكتابة انقر على قائمة عرض ثم ترتيب الجدولة ثم اسحب كلمة_المرور إلى الأعلى يليها زر موافق يليله زر إلغاء الأمر .

انتهى الآن التصميم وبقي الكود :

في الوحدة النمطية العامة ضع الدالة التالية :

Public Function IsLoaded(ByVal strformname As String) As Integer

Const CondesignView = 0

Const ConObjectClosed = 0

IsLoaded = False

If SysCmd(acSysCmdGetObjectState, acForm, strformname) <> ConObjectClosed Then

If Forms(strformname).CurrentView <> CondesignView Then

IsLoaded = True

End If

End If

End Function

في الوحدة النمطية الخاصة بنموذج كتابةالكلمة السرية اكتب :

Option Compare Database

Dim تأكد_عند_الإغلاق As Boolean

Private Sub Form_Close()

If تأكد_عند_الإغلاق = False Then DoCmd.Close acForm, "نموذج محمي بكلمة سرية"

End Sub

Private Sub Form_Open(Cancel As Integer)

If Not IsLoaded("نموذج محمي بكلمة سرية") Then

Cancel = -1

Else

If Forms![نموذج محمي بكلمة سرية].Visible = True Then Cancel = -1

End If

End Sub

Private Sub إلغاء_الأمر_Click()

DoCmd.Close acForm, "نموذج محمي بكلمة سرية"

تأكد_عند_الإغلاق = True

DoCmd.Close acForm, "نموذج الكلمة السرية"

End Sub

Private Sub موافق_Click()

If Me![كلمة_المرور] = "كلمة" Then

Forms![نموذج محمي بكلمة سرية].Visible = True

تأكد_عند_الإغلاق = True

DoCmd.Close acForm, "نموذج الكلمة السرية"

Else

MsgBox "الكلمة التي كتبتها غير صحيحة ." & vbCrLf _

& "حاول مرة أخرى .", vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "الكلمة السرية غير صحيحة"

كلمة_المرور.SetFocus

End If

End Sub

وفي النموذج المحمي بكلمة السر اكتب في الوحدة النمطية :

Private Sub Form_Open(Cancel As Integer)

DoCmd.OpenForm "نموذج الكلمة السرية"

End Sub

Private Sub Form_Timer()

Me.Visible = False

Me.TimerInterval = 0

End Sub

وأخيرا قم بإخفاء نموذج طلب الكملة السرية بالنقر على اسمه في إطار قاعدة البيانات بزر الفأرة الأيسر واختيار خصائص ثم اختيار مخفي .

أرجو أن يعمل معك جيداً واهتم بإخبارنا بالنتيجة .

ولك تحياتي

#8

لقد عملت جميع الخطوات التي ذكرتها

ولكن عند التنفيذ ظهرت رسالة

run-time error 2501

تم الغاء الإجراء open form

وعندما عملت

debug

ظهر اللوحة النمطية عند السطر

docmd.openform"نموذج الكلمة السرية"

باللون الأصفر

هذا ما حصل

#9

الأخ طلال

لقد عدت الى الكود وجربته مرة أخرى واشتغل بدون أي مشكلة .

اكتب لي الكود الذي وضعته في نموذج طلب الكلمة السرية والكود الذي وضعته في النموذج المحمي بكلمة سرية .

ولك تحياتي

#10

قد يكون الخطا في مكان وضع الكود في النموذجين

حيث وضعت الأول والثاني

عند النقر على النوذج في وضع التصميم بالماوس الأيمنوعند انشاء حدث

ثم البرامج

ارجو ان اكون قد وضحت لك

#11

الكود في نموذج الكلمة السرية

Private Sub Form_Load()

Option Compare Database

Dim تأكد_عند_الإغلاق As Boolean

Private Sub Form_Close()

If تأكد_عند_الإغلاق = False Then DoCmd.Close acForm, "نموذج محمي بكلمة سرية"

End Sub

Private Sub Form_Open(Cancel As Integer)

If Not IsLoaded("نموذج محمي بكلمة سرية") Then

Cancel = -1

Else

If Forms![نموذج محمي بكلمة سرية].Visible = True Then Cancel = -1

End If

End Sub

Private Sub إلغاء_الأمر_Click()

DoCmd.Close acForm, "نموذج محمي بكلمة سرية"

تأكد_عند_الإغلاق = True

DoCmd.Close acForm, "نموذج الكلمة السرية"

End Sub

Private Sub موافق_Click()

If Me![كلمة_المرور] = "كلمة" Then

Forms![نموذج محمي بكلمة سرية].Visible = True

تأكد_عند_الإغلاق = True

DoCmd.Close acForm, "نموذج الكلمة السرية"

Else

MsgBox "الكلمة التي كتبتها غير صحيحة ." & vbCrLf _

& "حاول مرة أخرى .", vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "الكلمة السرية غير صحيحة"

كلمة_المرور.SetFocus

End If

End Sub

End Sub

Private Sub الغاء_الأمر_Click()

End Sub

النوذج في نموذج 3

Option Compare Database

Private Sub Form_Load()

Private Sub Form_Open(Cancel As Integer)

DoCmd.OpenForm "نموذج الكلمة السرية"

End Sub

Private Sub Form_Timer()

Me.Visible = False

Me.TimerInterval = 0

End Sub

End Sub

#12

الأخ طلال

أزل السطر

Private Sub Form_Load()

من أول الوحدة النمطية الخاصة بنموذج الكلمة السرية ، وأزل السطرين التاليين من آخر الوحدة النمطية :

Private Sub الغاء_الأمر_Click()

End Sub

وفي النموذج المحمي امسح السطر

Private Sub Form_Load()

في أول الوحدة النمطية وأزل السطر

End Sub

في آخر الوحدة النمطية .

وأظن أن سبب ذلك أنك عرضت الوحدة النمطية الخاصة بالنموذجين عن طريق إنشاء حدث عند التحميل لكلا النموذجين ، والطريقة الصحيحة أن تدخل إلى الوحدة بنقر زر تعليمات برمجية على شريط الأدوات أو من قائمة عرض ثم التعليمات البرمجية إذا لم يكن هدفك إنشاء حدث معين .

ملاحظة إذا لم يشتغل فأكتب لي الكود مرة أخرى بعد تعديلك .

فائدة إذا كنت في عرض التصميم وتريد الانتقال الى عرض النموذج العادي فاضغط F5 أو اضغط Alt+F11 للإنتقال الى الإطار السابق .

ولك تحياتي

#13

الأخ ابو حمود لم يعمل مرة أخرى

هل مطلوب تغيير كلمة نموذج محمي بكلمة سرية إلى اسم النموذج الذي لدي

اما الكود الذي وضعتة بعد تعديلك كالتالي

في نموذج الكلمة السرية

Private Sub Form_Close()

If تأكد_عند_الإغلاق = False Then DoCmd.Close acForm, "نموذج محمي بكلمة سرية"

End Sub

Private Sub Form_Load()

End Sub

Private Sub Form_Open(Cancel As Integer)

If Not IsLoaded("نموذج محمي بكلمة سرية") Then

Cancel = -1

Else

If Forms![نموذج محمي بكلمة سرية].Visible = True Then Cancel = -1

End If

End Sub

Private Sub إلغاء_الأمر_Click()

DoCmd.Close acForm, "نموذج محمي بكلمة سرية"

تأكد_عند_الإغلاق = True

DoCmd.Close acForm, "نموذج الكلمة السرية"

End Sub

Private Sub موافق_Click()

If Me![كلمة_المرور] = "كلمة" Then

Forms![نموذج محمي بكلمة سرية].Visible = True

تأكد_عند_الإغلاق = True

DoCmd.Close acForm, "نموذج الكلمة السرية"

Else

MsgBox "الكلمة التي كتبتها غير صحيحة ." & vbCrLf _

& "حاول مرة أخرى .", vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "الكلمة السرية غير صحيحة"

كلمة_المرور.SetFocus

End If

End Sub

اما في نموذج3

الذي هو المطلوب عدم فتحه إلى بالرقم السري

Private Sub Form_Open(Cancel As Integer)

DoCmd.OpenForm "نموذج الكلمة السرية"

End Sub

Private Sub Form_Timer()

Me.Visible = False

Me.TimerInterval = 0

End Sub

#14

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

ثم هل وضعت الدالة IsLoaded في الوحدة النمطية العامة ؟

إذا تيسر لي وقت سأكتب لك شرح فكرة النموذجين .

ولك تحياتي

#15

نعم وضعت الكود في الوحدة النمطيع حسب المطلوب

وغيرت اسم النموذج

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

#16

نسيت أن أقول لك غير الكلمة السرية التي وضعتها أنا وهي "كلمة"

إذا كتبتها فتح لك النموذج وهي مكتوبة في حدث عند نقر زر موافق ، والمفروض أنك ما ترى النموذج المحمي بكلمة السر بل يفتح مخفي فإذا كتبت الكلمة صحيحة فتح وإلا لا يفتح أبداً .

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

اعتذر لكثرة النسيان قوى الله ذاكرتك .

ولك تحياتي

#17

الظاهر يا ابو حمود

ارسلك القاعدة بها النموذج المحمي باسم نموذج3 على البريد

هذا الموضوع مغلق.

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