مالطريق لتلوين سجل محدد بلون معين
يعني اريد تلوين السجلات ذات القيمة 2 بلون اصفر بينما السجلات التي قيمتها 3 تكون ملونة بلون رمادي فاتح مثلا
مالطريق لتلوين سجل محدد بلون معين
يعني اريد تلوين السجلات ذات القيمة 2 بلون اصفر بينما السجلات التي قيمتها 3 تكون ملونة بلون رمادي فاتح مثلا
هناك مثال مرفق للأخت زهرة قد يفيدك ...
لكن هذا المثال ينطبق فقط في حالة إذا كان النموذج (نموذج مفرد)
أما إذا وضعت النموذج (نماذج مستمرة) فقد لا يفي بالغرض
لذلك انا أطرح السؤال مرة أخرى:
كيف أستطيع أن أجعل لون السجل يتغير بالكامل إذا انطبق فيه شرط ما بحيث تكون سجلات متتابعة ومستمرة تستطيع أن ترى السجل السابق واللاحق في نفس الوقت؟؟؟؟؟
بارك الله فيك اخي ابو مالك
اخي الفاضل ممتاز
من البديهي والطبيعي في برنامج الاكسيس وخاصة في النماذج المستمره ان السجلات تكون جميعها اسفل بعضها البعض فعند محاولة تخصيص لون لسجل كامل فإن هذا سوف يسري على باقي السجلات ولا يمكن ان يتحقق الا من خلال كود برمجي وفي هذه الحالة سيكون علينا اختيار اداة تدعى Mod وهي تعني قسمة رقم السجل على عدد 2 ونحصل على سجلات فرديه وزوجيه متناوبه الخلفية كما في امثلة التقارير يعني لون السجل الاول اصفر ولون السجل الثاني رمادي حسب ما نحدده في الكود من الوان لخلفية السجل .
ولكن انتظر لحظه هنا لا يمكن تحقيق هذا الكود او الصيغة بهذه الطريقه في حال وجود شرط معين وهو تخصيص قيمه معينه للسجل كما في سؤالك لانك تريد مثلا ان يكون السجل الاول ذو القيمه 2 اصفر ويكون السجل رقم 6 ذو القيمه 3 رمادي هنا نقول ان الاكسيس سيقف حائرا اما هذا الشرط والصيغة ولن يعطي اي نتيجة .
اذن ما هو الحل ؟؟؟؟؟
حسنا دعنا نفكر في طريقه اخرى من خصائص الاكسيس ويقبل بها رغما عن انفه
سوف نستخدم حيله برمجيه ولن ينتبه لها الاكسيس دعنا نحاول في هذه الطريقه
1. ننشيء نموذج مستمر مبني على الجدول ( الى هنا الوضع طبيعي ولا يوجد جديد )
2. طبعا تقول انت في مشاركتك ان في الجدول حقل به قيم اما ان تكون 2 او 3 او غيرها من الارقام
4. لنفرض ان اسم هذا الحقل في الجدول والنموذج هو Val اختصار لكلمة Value وتعني قيمه .
اذن سيكون الحل ابتداء من هذه النقطه وهي القيمه ( الحقل Val ) اما ان يكون اصفر اذا كان العدد 2 او رمادي اذاكان العدد 3
تعقيب :
لو اردنا تطبيقها بالكود فلن يقبل الاكسيس وسيتعرف على اول لون وهو الاصفر وستكون جميع الوان السجلات اصفر
حسنا ايها الاكسيس العنيد سنجد الحل الان طالما وهبنا الله الذكاء فنحن الذين قمنا ببرمجة الاكسيس ولن ندعه يتحكم فينا
سنقوم الان بإنشاء مربع نص غير منظم على امتداد الحقول واعتيارا من اول حقل وهو ID حتى نصل الى اخر حقل وهو Val
بمعنى سيكون على شكل مستطيل يغطي كامل سطر السجل .
سوف نسمي مربع النص الغير منظم بإسم HColor
سنجعل مصدر تحكم البيانات لهذا الحقل هو الحقل Val
بمعنى ان اي قيمة في الحقل Val ستكون هي نفسها في الحقل الجديد HColor ( الحمد لله تخطينا اكبر عقبه ) هانت يا ممتاز
نقوم الان بإختيار مربع التص HColor ونضغط بالموس الايمن عليه ونختار تنسيق شرطي ( فكره جيده )
في التنسيق الشرطي سنختار الشرط الثاني ( طبعا اول ما تفتح التنسيق الشرطي الافتراضي ستجد اثنين الاول بدون شرط والثاني بشرط )
في خانة الشرط 1 نضع القيمه تساوي 2 واللون اصفر
نضغط على اضافة لاضافة شرط ثاني
في خانة الشرط 2 نضع القيمة 3 واللون رمادي

نضغط موافق ونخرج من التنسيق الشرطي
لازال حقل HColor مختار نقوم الان بإختيار خصائصه ونضع الصيغ كما هي في الصوره حسب التحديد

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


اخي ابو مالك
استخدم هذا الحل المؤقت لحين البحث عن المشكلة علما بأن النموذج لدى مستقر ولا يعمل اي اهتزاز
عموما بإمكانك تصغير النموذج ثم استعادته
او استخدم هذا الكود
Private Sub Form_Load() DoCmd.Minimize DoCmd.Restore End Sub
اختكم
زهره
شكري وتقدير لكل من شارك في حل هذه المسألة ولكم خالص الشكر
ابو مالك1
zahrah
الاخت العزيزة زهرة
برجاء شرح لنا هذا الاجراء لاني لم استطع فهمة
[id]
Mod 2>0
و هذا الاجراء
[id]
Mod 2=0
لقد قمت بتنفيذه في التنسيق الشرطي ولكن اريد أن أفهم ما علاقة رقم 2 بتلوين الحقول وعلامات يساوي واكبر من واصغر من بتلوين كل سجل علي حدة
وأيضا ما معني كلمة
Mod


اخي الفاضل
السلام عليكم ورحمة الله وبركاته
ان العامل MOD هو احد العوامل الحسابية ( ويدعى باقي القسمه ) شأنه شأن اي عامل حسابي اخر مثل + الجمع والطرح - والضرب × والقسمه ÷ جميع هذه الصيغ يتم التعبير عنها بالتالي
* تعني الضرب
+ تعني الجمع
- تعني الطرح
/ تعني القسمه
^ تعني مرفوع للاس
Mod قسمة الرقم الأول على الرقم الثاني وإرجاع فقط باقي القسمة
فمثلا نريد قسمة عدد على عدد مع اظهار باقي القسمة نقول
العدد الاول MOD العدد الثاني
اما لمعرفة باقي قسمة عدد واحد فقط نقول
العدد المطلوب MOD
نأتي الان لعوامل المقارنه
اصغر من < يحدد ما إذا كانت القيمة الأولى أقل من القيمة الثانية.
اصغر من او يساوي <= يحدد ما إذا كانت القيمة الأولى أقل من أو تساوي القيمة الثانية.
اكبر من > يحدد ما إذا كانت القيمة الأولى أكبر من القيمة الثانية.
اكبر من او يساوي >= يحدد ما إذا كانت القيمة الأولى أكبر من أو تساوي القيمة الثانية.
يساوي = يحدد ما إذا كانت القيمة الأولى تساوي القيمة الثانية.
لا يساوي <> يحدد ما إذا كانت القيمة الأولى لا تساوي القيمة الثانية.
نقوم الان بدمج العاملين لاستخدامهما في الشرط الخاص بتنسيق الحقل كما في المثال فنقول
الشرط الاول :
باقي قسمة العدد الثاني تكون اكبر من الصفر فتكون النتيجه هي عدد فردي بهذا سيكون لون السجل اصفر
الشرط الثاني :
باقي قسمة العدد الثاني تكون مساوية للصفر فتكون النتيجة عدد زوجي بهذا يكون لون السجل ازرق
ماذا نعني بالعدد الثاني 2
كما تعلم اننا نرغب بتلوين سجلات متناوبه بمعنى الاعداد الفردية بلون والاعداد الزوجية بلون مثلا السجلات 1 و 3 و 5 و 7 و.... بلون اصفر
ايضا السجلات الزوجية 2 و 4 و 6 و 8 و ..... بلون ازرق
وهذا ما يحدث من خلال استعمال MOD 2 >0 او MOD 2=0
اذن سيكون دائما الشرط على السجل الثاني فينظر الشرط للصيغة ويقوم بالتلوين
حسنا دعنا تجربة عدد 3 او 4 او 5 بدلا من الرقم 2
نأخذ مثلا العدد 3
نجد ان اول سجل سيأخذ اول قيمه ولونها وهي اللون الاصفر
وسنجد ان السجل الثاني اصبح بنفس لون السجل الاول
واصبح السجل الثالث له لون ازرق mod3
كذلك السجل الرابع والخامس اصبحت بلون اصفر
والسجل السادس اصبح لونه ازرق mod3
بمعنى ان الالوان تتعاقب بعد كل سجلين
اما في حالة العدد 4 فإن الالوان ستتعاقب بعد كل ثلاثة سجلات mod4
وفي حالة العدد 5 فإن الالوان ستتعاقب بعد اربعة سجلات mod5 ( السجل الاول والثاني والثالث والرابع لها لون اصفر والسجل الخامس له لون ازرق ) .
قم بالتجربه لاعداد اخرى وانظر النتيجه
لاحظ اننا استخدمنا الحقل [iD] في جميع العمليات
[ID] MOD 2 >0 [ID] MOD 2 =0
[ID] MOD 3 >0 [ID] MOD 3 =0
[ID] MOD 4 >0 [ID] MOD 4 =0
[ID] MOD 5 >0 [ID] MOD 5 =0
وهذا مثال عملي تطبيقي
اتمنى ان اكون قد اوصلت لك الفكره بطريقه سهلة وميسره
اختكم
زهره
الأخت زهرة
لقد قمت بتطبيق المثال على نموذج لدي وكانت النتيجة ممتازة
لكن ظهرت لدي مشكلة
هذا النموذج استخدمة كمنوذج فرعي مرتبط بمنوذج اساسي خاص بالعملاء
عندما افتح النموذج الاساسي فإن النموذج الفرعي يحضر السجلات التي تخص عميل واحد فقط
وبالتالي فإن السجلات التي ستظهر قد تكون هي رقم 1،3،4
وهذا يعني أن أول سجلين سأخذون لون واحد حسب شرط باقي القسمة
والسجل الثالت سيأخذ اللون الآخر
وهذا يعني أنني لم استفد من خاصية تلوين سطر بلون والسطر الذي يليه بلون آخر!
فهل من حل ؟
هذا الموضوع مغلق.