• 0
Guest المستعين بربه

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

سؤال

السلام عليكم

جميع الأعضاء

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

وشكرا لكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

22 إجابة على هذا السؤال .

  • 0

في النموذج

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

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


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

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

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخى العزيز

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

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

تنبيه.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

في النموذج

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

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


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

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

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

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

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

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

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

اخى العزيز

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

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

أخي الكريم

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

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

تم تعديل بواسطه المستعين بربه
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

لحل مشكلتك

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

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

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

post-129354-086041300 1330796541_thumb.j

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

وفقك الله

أبومحمد

Degree.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

لحل مشكلتك

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

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

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

post-129354-086041300 1330796541_thumb.j

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

وفقك الله

أبومحمد

Degree.rar

-------

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

تم تعديل بواسطه المستعين بربه
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

فهم الأحداث

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



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

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخى ابو محمد

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

أنت ذوق

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

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

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

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

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

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

أبومحمد

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

فهم الأحداث

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



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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

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

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

وقبل تحياتي

وفقك الله

أبومحمد

DegreePMS.rar

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

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

وقبل تحياتي

وفقك الله

أبومحمد

DegreePMS.rar

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

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

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

za-DegreePMS.rar

بالتوفيق

تم تعديل بواسطه zahrah
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

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

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

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

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

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

أبو محمد

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

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

za-DegreePMS.rar

بالتوفيق

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

أبومحمد

za-DegreePMS_2.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

أبومحمد

za-DegreePMS_2.rar

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .