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

كيف اتحكم في حقل في النموذج أو الاستعلام

بدأه المستعين بربه في 3 مارس 2012 · 22 رد · 1,901 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

جميع الأعضاء

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

وشكرا لكم

#2

في النموذج

ضع في خصائص خانة الدرجة (حدث - بعد التحديث)

ضع الكود التالي:


docmd.GoToControl "not"
End if
if Degree < 45 then

يكرر هذا الكود في (حدث - بعد التتغيير)

لضمان تحقق الشرط في حالة:

1- التحديث (الإدخال الأول للدرجة)

2- التغيير (إعادة إدخال وتصحيح الدرجة)

أتمنى لك التوفيق

#3

اخى العزيز

لعمل ذلك : نذهب الى الى الجدول فى عرض التصميم ونقف على حقل الدرجة وننزل على الخصائص وعند validation rule نكتب 45 > وفى ال validation text نكتب الرسالة التى نريدها

تفضل هذا المثال

تنبيه.rar

#4

أشكر لكم تفاعلكم وسوف أفيدكم بالنتيجة

#5

نعم كلام الاخ احمد صحيح اغلبيه تحقق الشروط نحدد خصائصها من داخل الحقل او الخليه للجدول فى قاعده بيانات اكسس اما كود الاخ pms على مايبدو خاص بلغه البرمجه او النافذه بعد ربطها بقاعده البيانات فيما بعد مثلا فجوال 6

#6
pms كتب:

في النموذج

ضع في خصائص خانة الدرجة (حدث - بعد التحديث)

ضع الكود التالي:


docmd.GoToControl "not"
End if
if Degree < 45 then

يكرر هذا الكود في (حدث - بعد التتغيير)

لضمان تحقق الشرط في حالة:

1- التحديث (الإدخال الأول للدرجة)

2- التغيير (إعادة إدخال وتصحيح الدرجة)

أتمنى لك التوفيق

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

احمدسليمان2012 كتب:

اخى العزيز

لعمل ذلك : نذهب الى الى الجدول فى عرض التصميم ونقف على حقل الدرجة وننزل على الخصائص وعند validation rule نكتب 45 > وفى ال validation text نكتب الرسالة التى نريدها

تفضل هذا المثال

أخي الكريم

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

آمل أن قد وضحت الصورة

تم تعديل هذه المشاركة بواسطة المستعين بربه في 3 مارس 2012 في 18:58

#7

أخي المستعين بربه

لحل مشكلتك

كان يجب عليك أرفاق مثال

لأسقاط الحلول عليه

وهذا مثال من عندي قد يماثل ما تطلبه

post-129354-086041300 1330796541_thumb.j

ومرفق معه المثال

وفقك الله

أبومحمد

Degree.rar

المرفقات
Pict1.jpg
#8

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

#9
pms كتب:

أخي المستعين بربه

لحل مشكلتك

كان يجب عليك أرفاق مثال

لأسقاط الحلول عليه

وهذا مثال من عندي قد يماثل ما تطلبه

post-129354-086041300 1330796541_thumb.j

ومرفق معه المثال

وفقك الله

أبومحمد

Degree.rar

-------

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

تم تعديل هذه المشاركة بواسطة المستعين بربه في 4 مارس 2012 في 11:20

#10

نذهب الى الى الجدول فى عرض التصميم ونقف على حقل not وننزل على الخصائص وعند required وننختار no

#11
احمدسليمان2012 كتب:

نذهب الى الى الجدول فى عرض التصميم ونقف على حقل not وننزل على الخصائص وعند required وننختار no

لم تفلح الفكرة

#12

عذراً على تأخر الرد

بالمرفق تجد التعديل حسب طلبك

وهذا شرح مبسط للفائدة

فهم الأحداث

أولاً: عند فتح النموذج (ضع الحدث التالي)



Private Sub Form_Open(Cancel As Integer)
DoCmd.Restore 'أجعل النموذج في وضع التحجيم
Me.not.Enabled = False ' أجعل الكائن Not في وضع عدم التمكين
DoCmd.GoToRecord , , acNewRec ' عند حدث الفتح أذهب لسجل جديد
End Sub

ثانياً: خانة الدرجة (حدث / بعد التحديث)

نضع الشرط المطلوب (أقل من 45 درجة) إذا تحقق الشرط

نفذ ما يلي:

رسالة تفيد بأن درجة هذا الطالب (؟) وهي ضعيفة

بعد الضغط على (OK)

أجعل كائن (خلية) الملاحظات ((في وضع التمكين))



Private Sub Degree_AfterUpdate()
If Degree < 45 Then
MsgBox "درجة هذا الطالب : (" & [Degree] & ") يجب عليك أن توضح أجرائك للدرجة المدخلة وهي درجة ضعف ", vbOKOnly + vbCritical + vbMsgBoxRight, "إدخال ملاحظات على الدرجة الضعيفة"
Me.not.Enabled = True
End If
End Sub

post-129354-047736700 1330982627_thumb.j

ثالثاً: الكائن (خلية - الملاحظات) // حدث عند الإدخال

إلزام المستخدم بأدخال الملاحظات

فإذا ترك المستخدم هذا الكائن (is Null) خالي القيمة

يأتي دور رسالة التنبية التالية: ((رسالة أخرى تنبه المستخدم إلى [أتخاذ الإجراء المحدد]))

فإذا تحقق المطلوب

أنتقل للحدث التالي



Private Sub not_Enter()
If IsNull([not]) Or IsNull([not]) Then
MsgBox " يجب عليك أن توضح الإجراء قبل أن تترك هذه الخانة!! ", vbOKOnly + vbCritical + vbMsgBoxRight, "تنبيه لكتابة ملاحظات"
End If
End Sub

post-129354-089406700 1330982721_thumb.j

رابعاً: الكائن (خلية - الملاحظات) // حدث عند الخروج



Private Sub not_Exit(Cancel As Integer)
DoCmd.GoToControl "nam" ' أذهب للكائن (اسم الطالب) Nam
DoCmd.GoToRecord , , acNext 'أفتح سجل جديد الإنتقال إلى بيانات جديدة
Me.not.Enabled = False ' أجعل كائن الملاحظات في وضع عدم التمكين
End Sub

وبالله التوفيق

أبومحمد

DegreePMS.rar

المرفقات
pict2.jpgPict3.jpg
1
#13

اخى ابو محمد

يكفينى شرف المحاولة حتى وان اخذت 12 فى الجغرافيا

لكن لا داعى لتحويلى الى المرشد الطلابى

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

#14

والله يا أخ أحمد

تستحق 100 من 100 في الجغرافيا والتعبير وجميع المواد

أنت ذوق

لكن عشوائية أختيار أسماء لضرب هذا المثال وقع عليك (الحظ السيئ)

أنا شخصيا أطالب لجنة الكنترول أعاد أوراقك للتصحيح ومنحك 100 درجة

ووضع أسمك في لوحة الشرف

ومنحك وسام التفوق والاجتهاد

بس أوعى تعيط أو تبلغ دادي

(موفق يا أخ أحمد)

أبومحمد

#15

اعلم يا خى صدق نيتك

ولكن قصدت مداعبتك واشاعة جو من المودة بينى وبين اخوانى فى المنتدى

شكرا لك اخى ابو محمد

بالتوفيق دائما

1
#16
pms كتب:

عذراً على تأخر الرد

بالمرفق تجد التعديل حسب طلبك

وهذا شرح مبسط للفائدة

فهم الأحداث

أولاً: عند فتح النموذج (ضع الحدث التالي)



Private Sub Form_Open(Cancel As Integer)
DoCmd.Restore 'أجعل النموذج في وضع التحجيم
Me.not.Enabled = False ' أجعل الكائن Not في وضع عدم التمكين
DoCmd.GoToRecord , , acNewRec ' عند حدث الفتح أذهب لسجل جديد
End Sub

ثانياً: خانة الدرجة (حدث / بعد التحديث)

نضع الشرط المطلوب (أقل من 45 درجة) إذا تحقق الشرط

نفذ ما يلي:

رسالة تفيد بأن درجة هذا الطالب (؟) وهي ضعيفة

بعد الضغط على (OK)

أجعل كائن (خلية) الملاحظات ((في وضع التمكين))



Private Sub Degree_AfterUpdate()
If Degree < 45 Then
MsgBox "درجة هذا الطالب : (" & [Degree] & ") يجب عليك أن توضح أجرائك للدرجة المدخلة وهي درجة ضعف ", vbOKOnly + vbCritical + vbMsgBoxRight, "إدخال ملاحظات على الدرجة الضعيفة"
Me.not.Enabled = True
End If
End Sub

post-129354-047736700 1330982627_thumb.j

ثالثاً: الكائن (خلية - الملاحظات) // حدث عند الإدخال

إلزام المستخدم بأدخال الملاحظات

فإذا ترك المستخدم هذا الكائن (is Null) خالي القيمة

يأتي دور رسالة التنبية التالية: ((رسالة أخرى تنبه المستخدم إلى [أتخاذ الإجراء المحدد]))

فإذا تحقق المطلوب

أنتقل للحدث التالي



Private Sub not_Enter()
If IsNull([not]) Or IsNull([not]) Then
MsgBox " يجب عليك أن توضح الإجراء قبل أن تترك هذه الخانة!! ", vbOKOnly + vbCritical + vbMsgBoxRight, "تنبيه لكتابة ملاحظات"
End If
End Sub

post-129354-089406700 1330982721_thumb.j

رابعاً: الكائن (خلية - الملاحظات) // حدث عند الخروج



Private Sub not_Exit(Cancel As Integer)
DoCmd.GoToControl "nam" ' أذهب للكائن (اسم الطالب) Nam
DoCmd.GoToRecord , , acNext 'أفتح سجل جديد الإنتقال إلى بيانات جديدة
Me.not.Enabled = False ' أجعل كائن الملاحظات في وضع عدم التمكين
End Sub

وبالله التوفيق

أبومحمد

DegreePMS.rar

الله يعطيك العافية ولكن المثال المرفق لم يعمل لماذا ؟؟؟ فهو أسهل لي في نسخ الأكود ياليت تتأكد منه

#17
المستعين بربه كتب:

الله يعطيك العافية ولكن المثال المرفق لم يعمل لماذا ؟؟؟ فهو أسهل لي في نسخ الأكود ياليت تتأكد منه

يا صاحبي .. المرفق لا توجد به مشكلة

جربتُ أنزاله على 3ثلاث أجهزة مختلفة وهو يعمل بكفاءة

أنشدك: هل حاولت تجربته على جهاز آخر

والتأكد من عمله

ع العموم .. أرفع لك المرفق مرة ثانية (تم فحصة الآن قبل الرفع)

وقبل تحياتي

وفقك الله

أبومحمد

DegreePMS.rar

1
#18
pms كتب:

يا صاحبي .. المرفق لا توجد به مشكلة

جربتُ أنزاله على 3ثلاث أجهزة مختلفة وهو يعمل بكفاءة

أنشدك: هل حاولت تجربته على جهاز آخر

والتأكد من عمله

ع العموم .. أرفع لك المرفق مرة ثانية (تم فحصة الآن قبل الرفع)

وقبل تحياتي

وفقك الله

أبومحمد

DegreePMS.rar

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

1- ينتقل المؤشر إلى الملاحظات

2- لا يسمح له الكود بالانتقال في حالة ترك حقل الملاحظات فارغ

2- بعد كتابة الملاحظات يرجع المؤشر إلى حقل الدرجة التالية.

والله ادري إني أتعبتكم وأشغلتكم ولكن على أجر لهؤلاء الطلاب وفقك الله

#19

بارك الله بكم اخواني الكرام

على المشاركة القيمة

تفضل اخي الكريم : المستعين بربه

الملف بعد التعديل بناء على طلبك

يجب ان ينتقل المؤشر الى حقل الإسم ثم حقل الدرجة الجديده بعد تعبئة حقل الملاحظة في السجل السابق وعدى ذلك لن يسمح بالإنتقال او الخروج من حقل الملاحظة مالم يتم تعبأتها

za-DegreePMS.rar

بالتوفيق

تم تعديل هذه المشاركة بواسطة zahrah في 7 مارس 2012 في 16:36

1
#20

شكراً لك أستاذتي المتألقة (أم عهود)

على تصويب عملي القاصر

حقيقة كنت أستخدم مفتاح (Tab) ولم أستخدم مفتاح (Enter)

لذلك وقعت في خطأ عدم أستدراك جميع أوجه الإدخال ونتائجها

فضلاً على تصويب الأكواد

أختي الفاضلة:

لا زلت أنهل من معين علمك وتعليمك

اللهم أرفع قدرها. وكثر أجرها

اللهم أرحم معلم الناس الخير

أبو محمد

#21
zahrah كتب:

بارك الله بكم اخواني الكرام

على المشاركة القيمة

تفضل اخي الكريم : المستعين بربه

الملف بعد التعديل بناء على طلبك

يجب ان ينتقل المؤشر الى حقل الإسم ثم حقل الدرجة الجديده بعد تعبئة حقل الملاحظة في السجل السابق وعدى ذلك لن يسمح بالإنتقال او الخروج من حقل الملاحظة مالم يتم تعبأتها

za-DegreePMS.rar

بالتوفيق

اختي زهرة ظهرت مشكلة وبإمكانك التجربة وهو يمكن كتابة الدرجة والتي هي أقل من 45 ثم وضع المؤشر في حقل الدرجة الأخرى مباشرة فلا يعمل أي كود حول هذا الإجراء؟؟!!!

آمل ملاحظة أن الأسماء والمواد موجود دون حاجة لكتابتها كما في المثال

#22

تفضل أخي الكريم

ملفك بعد التعديل (بعد أذن الأخت المتألقة/ زهرة)

جرب بكل الإحتمالات والإتجاهات

وانظر للنتيجة

أبومحمد

za-DegreePMS_2.rar

#23
pms كتب:

تفضل أخي الكريم

ملفك بعد التعديل (بعد أذن الأخت المتألقة/ زهرة)

جرب بكل الإحتمالات والإتجاهات

وانظر للنتيجة

أبومحمد

za-DegreePMS_2.rar

نعم هذا من أردت للجميع شكر وتقديري وفقكم الله على ذوقكم الرفيع...........ومساعدتكم

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

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

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

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

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