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

[ تمت الإجابة ]تنبيه بإقتراب إنتهاء العقد قبل شهر من تارشخ الانتهاء

مغلق
بدأه redmoon2 في 8 فبراير 2008 · 6 رد · 2,173 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

وشكرني كثيرا والفضل لله ثم لدروسكم .

وأحببت أن أضعه بين أيديكم لعله يساعد أحد الاخوة ولا أحب أن ابخل حتي بالبسيط .

فكرة البرنامج هو أن تضع تاريخ العقد او الاشتراك ومن ثم تختار كم مدة العقد ؟ ( سنة - سنتين )

وبعدها بكود صغير يظهر لك تاريخ نهاية العقد .

المشكلة أنني حاولت أن أظهر رسالة نصية مثلا : سنتهي العقد قريبا تظهر حينما يكون ( تاريخ نهاية العقد ) أقل من ( تاريخ اليوم ) بشهر أو أقل من 30 يوماً , أي ان الرسالة تظهر دائما مادام ( تاريخ نهاية العقد ) محصورا بين (تاريخ نهاية العقد ) و (تاريخ اليوم ) ويتنتهي سرالة التنبيه اذا صار ( تاريخ انتهاء العقد ) = ( تاريخ اليوم )

ولكني ماعرفت كيف اترجمها بالكودات !!

contract1.rar

#2

اخي / redmoon2

السلام عليكم

1:- تم اضافة حقل بالجدول Main وهو عبارة عن حقل لرقم العقد وسميته ContractNo هذا الحقل هو المفتاح الأساسي للجدول.

2:- تم عمل استعلام تحديد سميته QryReminder وتم وضع جميع حقول الجدول Main به وتم عمل معيار تحت حقل exp_contract الخاص بانتهاء العقد

<Date()-30

بتشغيل هذا الاستعلام ستظهر كل العقود التي تنتهي قبل تاريخ اليوم بــــ 30 يوماً .

3:- تم عمل نموذج جدولي وسميته FrmReminder وتم تعيين الاستعلام كمصدر للنموذج

في حدث عند الاغلاق لهذا النموذج تم وضع كود لفتح النموذج الرئيسي Main كالتالي

 DoCmd.OpenForm "main"

4:- تم وضع كود بحدث عند التحميل للنموذج الرئيسي main كالتالي

Dim IntExp As Integer

IntExp = DCount("[ContractNo]", "[main]", "[exp_contract] <date()+30 ")
	If IntExp = 0 Then
			Exit Sub
				Else
				If MsgBox("لديك عدد" & IntExp & " هل ترغب في عرضها الآن ؟" & "عقود منتهية ", vbYesNo, "لديك عقود منتهية") = vbYes Then
					DoCmd.Minimize
					DoCmd.OpenForm "frmReminder", acNormal
				Else
			Exit Sub
		End If
	End If

شرح مبسط للكود

في السطر الاول تم تعريف متغير باسم IntExp من نوع رقم ( Integer ) ليتم تخزين قيمة او عدد العقود المنتهية بناءً على المعيار المطلوب ( قبل شهر من تاريخ اليوم )

في السطر الثاني يتم تعيين قيمة لهذا المتغير باستخدام الدالة DCount بحيث يتم حساب عدد القيم للحقل ContractNo من الجدول Main بالمعيار للحقل exp_contract

في السطر الثالث يتم التحقق من قيمة المتغير ( عدد قيم الحقل exp_contract ) فإذا كانت تساوي صفر أي لا يوجد عقود منتهية.

في السطر الرابع بناءً على السطر الثالث اذا كانت قيمة المتغير تساوي صفر يتم الخروج من الاجراء ومن ثم يتم تحميل النموذج الرئيسي .

في السطر الخامس اذا لم تكن قيمة المتغير صفر وهنا تم استخدام الكلمة Else وبعدها سيتم وضع الاحتمال الآخر ( أي في حالة كانت قيمة المتغير اكبر من صفر أي اذا كان هناك عقود منتهية )

في السطر السادس وبناءً على السطر الخامس يتم عرض رسالة توضح عدد العقود المنتهية كما هو موضح بوضع المتغير ضمن الرسالة فاذا تم الضغط على ازرار الرسالة Yes

في السطر السابع وبناءً على السطر السادس سيتم تصغير النموذج الرئيسي Main

في السطر الثامن سيتم ايضاً فتح النموذج الجدولي FrmReminder المبني على الاستعلام

في السطر التاسع في حالة تم الضغط على ازرار الرسالة No

في السطر العاشر بناءً على السطر التاسع سيتم الخروج من الإجراء وتحميل النموذج الرئيسي Main

في السطر الحادي عشر والثاني عشر يتم انهاء جمل If الشرطية

ملاحظة : تم استدعاء اجراء التغيير لمربع التحرير والسرد بحدث بعد التحديث لمربع النص الخاص بتاريخ العقد فقد يتم تغيير تاريخ العقد لسبب ما.

ايضاً تم عمل تنسيق شرطي لتظهر التواريخ المنتهية قبل شهر من تاريخ اليوم باللون الاحمر بالنموذج الرئيسي Main.

تفضل المرفق بعد التعديل وارجو ان يكون هو ما تبحث عنه

وبالتوفيق

contract1.rar

تم تعديل هذه المشاركة بواسطة يوسف احمد في 9 فبراير 2008 في 02:59

#3
اقتباس
شرح مبسط للكود

اخي يوسف احمد تحياتي واشكرك جزيلا على الشرح، بصراحة شدني الموضوع وكنت قد استخدمت التنبيه في برنامج لصيدلية لعرض الادوية التي انتهت صلاحيتها وتلك التي نقصت من المخزون،، والحمد لله، كذلك استخدمت افكار شبيهة في برنامج المخزون الخاص بشركات الاجهزة الكهربائية والمبيوتر "TechnoStores".. اشكرك جزيلا..

همام

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#4
اقتباس
اخي يوسف احمد تحياتي واشكرك جزيلا على الشرح، بصراحة شدني الموضوع وكنت قد استخدمت التنبيه في برنامج لصيدلية لعرض الادوية التي انتهت صلاحيتها وتلك التي نقصت من المخزون،، والحمد لله، كذلك استخدمت افكار شبيهة في برنامج المخزون الخاص بشركات الاجهزة الكهربائية والمبيوتر "TechnoStores".. اشكرك جزيلا..

نوّرت المشاركة اخي همام

شرف لي مرورك

شكراً جزيلاً لك مشرفنا الغالي .

دمت بوّد

#5

بسم الله الرحمن الرحيم

بارك الله فيك اخي يوسف على الشرح الجميل

#6

اخي العزيز : يوسف أحمد الصراحة كلمات الشكر قليلة فيك

الله يجزيك كل الخير على الشرح الرائع والمبسط والله يزيدك من علمه الواسع ويرحم والديك ويكثر من أمثالك

فرجت عني هم الله يفرج همك

---------

اخوي همام نورت المشاركة

#7

بسم الله الرحمن الرحيم

تمت الإجابة على الموضوع

إدارة الفريق العربي للبرمجة

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

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

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

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

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

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