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

طلب كود تنبيه وقت الانتهاء

بدأه نسيم الترك في 23 مارس 2012 · 9 رد · 667 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

المثال المرفق يقوم بتذكيري بنفس تاريخ الانتهاء وانا اريد بان يقوم بتذكيري قبل 30 يوم ارجو من يستطيع بان يقوم بالتعديل عليه

واكون لكم شاكرا

تذكير.zip

#3

تاريخ انتهاء الرخصه

في المثال المرفق يقوم بتذكير بنفس التاريخ مثلا تاريخ الانتهاء يكون في تاريخ 23/03/2012 انه يقوم بتذكيري بهادا التاريخ الذي اريده بان يقوم بتذكيري قبل هذا التاريخ في 30 يوم وان يكون يتعامل سنوي مثلا تاريخ بدء الترخيص 23/5/2011 وتاريخ الانتهاء 23/05/2012 ان يقوم بتذكيري قبل 30 يوم

ارجوا بان اكون وصلت الفكره الذي اريدها

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

#4

اولاً لتفعل هذا يجب ان تجعل نوع الحقل من النوع DateTime في قاعدة البيانات

ثم في البرنامج تضع اداة DTPicker لإختيار التاريخ حتى نأخذ منها التريخ عندما نحفظه في قاعدة البيانات عند الإضافة او التعديل

بعد ذلك في الإستعلام الذي يتحقق من الرخص التي ستنتهي في غضون 30 يوماً او اقل نستخدم الكود التالي :

	Dim Date1 As String
	Date1 = Format(DateAdd("D", -30, Now), "mm/dd/yyyy")

حيث قمنا بالإعلان عن المتغير Date والذي نضع فيه تاريخ اليوم - 30 يوم , اي التاريخ قبل 30 يوم من الآن

وفي الإستعلام نقارن كل السجلات الي يكون تاريخ انتهاء الرخصه فيها اكبر من او يساوي هذا التاريخ, اي ان تاريخ انتهائها يسبق تاريخ اليوم بـ 30 يوم او اقل ..

Select * From Occasions Where Date >=#" & Date1 & "#"

وهنا استخدمنا الرمز # لان الحقل من نوع تاريخ

(المثال بعد التعديل في المرفقات)

تذكير2.rar

It does not matter what they know about you, but what you can do, so let your work speak of you

mmghv VB6 Programmer

#5

مشكور يا غالي على مساعدتك ولكن بضل يكتب تذكر انتهاء الرخصه 1 بضل يكتب رقم واحد وانا اريد ان يكتب ما اكتب في خانه الوحده

وشيء اخر اريد بان يعتمد على سنه من الادخال مثلا ادخل 23/03/2012 والانتهاء في 23/03/2013 وقبل وصول تاريخ 23/03/2013 يتم تنبيهي

ولك كل الشكر والتقدير

#6

الا يكفي ان يعرض كل التحذيرات في الليست بوكس؟

في صندوق الرسالة لا يمكنك كتابة غير عدد التحذيرات فإذا كان هناك اكثر من تحذير كيف تريد للرسالة ان تعرضهم جميعاً ؟؟!

لذلك نعرض فقط عددهم ثم في الليست نعرض تفاصيل كل التحذيرات

ثم ان ما يهمك هو كود التحقق من التواريخ قبل 30 يوم وها هو لديك , فلتطبقه كما تشاء ويحلو لك

بالنسبة لسنة الإدخال يمكنك إضافة الحقول التي تريد لكن الكود يعتمد على سنة إنتهاء الرخصة فقط لان ما تريد التنبيه به هو انتهاء الرخصة .. اليس كذلك ؟؟

It does not matter what they know about you, but what you can do, so let your work speak of you

mmghv VB6 Programmer

#7

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

(شكلي كنت نايم وانا بكتب الكود laugh.gif)

تم تعديل الكود الى :

	Date1 = Format(Now, "mm/dd/yyyy")
	Set Rs2 = db.OpenRecordset("Select * From Occasions Where Date >=#" & Date1 & "# and Date-30 <=#" & Date1 & "#", dbOpenDynaset)

ليبحث عن كل السجلات التي يتحقق بها شرطين على التاريخ :

1) (Date >= Today) الا يكون هذا التاريخ يسبق تاريخ اليوم, فلا يعرض الرخص التي انتهت بالفعل

2) (Date-30 <= Today) ان يكون تاريخ الإنتهاء يأتي بعد اليوم ب 30 يوم او اقل

ولك ان تعدل الكود كما يحلو لك ..

(المثال بعد التعديل في المرفقات)

تذكير2.rar

It does not matter what they know about you, but what you can do, so let your work speak of you

mmghv VB6 Programmer

#8

مشكور اخي الغالي على مساعدتك وبارك الله فيك

ولكن لو تنظر للبرنامج المرفق وعند تشغيله فانه يذكرك باكثر من موعد انتهاء ويكنتب رقم المركبه هذا ما اريده مثل البرنامج المرفق ولكن اريد انه يذكرني قبل 30 يوم

المطلوب يا غالي اريد نفس البرنامج المرفق ان يكون ولكن ان تعدل عليه بان يذكر قبل 30 يوم مع تذكير برقم المركبه ولاحظ بانه يعطيك اكثر من تذكير

تذكير.zip

تم تعديل هذه المشاركة بواسطة نسيم الترك في 24 مارس 2012 في 12:25

#9

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

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

	If Rs2.RecordCount > 0 Then
    	Rs2.MoveFirst
    	Do Until Rs2.EOF
        	MsgBox Rs2!Occasion & vbNewLine & Rs2!Date, vbInformation, "تذكر"
        	Rs2.MoveNext
    	Loop
	End If

It does not matter what they know about you, but what you can do, so let your work speak of you

mmghv VB6 Programmer

#10

مشكوووووووووووووووور يا غالي وبارك الله فيك

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

اشكرك كل الشكر على متابعتك وعلى مساعدتك

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