اذهب الي المحتوي
أوفيسنا

ظهور msgbox عند إدخال تاريخ في مربع نص


كريمو2

الردود الموصى بها

السلام عليكم

بالصورة

المطلوب ظهور msgbox عندما يتم إدخال تاريخ بداية الخصم أصغر من تاريخ نهاية الخصم

مثلا :2016/01/01 الى 2016/08/01 هنا عند إدخال تاريخ بداية الخصم أقل او يساوي من 2016/08/01  يظهر msgbox تنبيه بأن " القرض المالي الحالي لم يكتمل إقتطاعه ولايمكن اضافة قرض أخر"

علما ن مربع النص تاريخ بداية الخصم هو  DiscountStartDate

          ومربع النص تاريخ نهاية الخصم هو  DiscountEndDate

وشكرا

 

اكبر.png

رابط هذا التعليق
شارك

شكرا استاذي العزيز ... جعفر

لقد وضعت الكود في الحدث "قبل التحديث" عند مربع النص DiscountStartDate وظهر التنبيه عندما يكون اكبر او اصغر او مساو

ولكن عندما نضغط على نعم يقبل التاريخ

المطلوب : لا يقبل التاريخ المساو او الاصغر من تاريخ النهاية

ملاحظة : تاريخ نهاية الخصم تكتب تلقائيا لا فائدة من وضع الحدث فيها

FrmCridi.rar

رابط هذا التعليق
شارك

تفضل :rol:

 

سؤالك لم يوضح انك تريد مقارنة تاريخ بداية الخصم مع تاريخ نهاية الخصم السابق!! 

 

هذا هو الكود الجديد:


Private Sub DiscountStartDate_BeforeUpdate(Cancel As Integer)

    'get the last Discount End Date
    'mySQL = "SELECT DiscountEndDate FROM Cridi"
    'mySQL = mySQL & " WHERE DiscountEndDate Is Not Null AND EmployeeID =" & Me.EmployeeID
    'mySQL = mySQL & " ORDER BY ID DESC"
    'Debug.Print mySQL
    '
    'Dim rst As DAO.Recordset
    'Set rst = CurrentDb.OpenRecordset(mySQL)
    'rst.MoveLast: rst.MoveFirst
    'Last_Disc_End_Date = rst!DiscountEndDate
    Last_Disc_End_Date = DLookup("[DiscountEndDate]", "qry_Last_Disc_End_Date")
    
    If Me.DiscountStartDate <= Last_Disc_End_Date Then
        MsgBox " تاريخ بداية الخصم أكبر أو يساوي تاريخ نهاية الخصم السابق"
        Cancel = True
        Me.Undo
    End If
    
End Sub

 

جعفر

289.FrmCridi.mdb.zip

رابط هذا التعليق
شارك

شكرا لكم استاذي العزيز على المساعدة

بقيت مشكلة وهي الكود لا يقبل تاريخ  إضافة قرض للشهر البعد الأخير

مثلا :

نهاية الخصم 2016/08/01 لايقبل إضافة قرض ثاني في 2016/09/01 بل يقبل الا في 2016/10/01 او 2016/11/01 وغيرهم

ارجو تصحيح الكود

 

رابط هذا التعليق
شارك

معذرة استاذ لقد وجدت مشكلة في الإستعلام الذي انشئته

إذ مسحت المعيار في الإستعلام يظهر الميساج في الفورم وإذا تركته لا يظهر شيئا

ملاحظة : انت انشئت استعلام 

SELECT Cridi.DiscountEndDate
FROM Cridi
WHERE (((Cridi.DiscountEndDate) Is Not Null) AND ((Cridi.[EmployeeID])=1))
ORDER BY Cridi.ID DESC;

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

Private Sub DiscountStartDate_BeforeUpdate(Cancel As Integer)

    'get the last Discount End Date
    'mySQL = "SELECT DiscountEndDate FROM Cridi"
    'mySQL = mySQL & " WHERE DiscountEndDate Is Not Null AND EmployeeID =" & Me.EmployeeID
    'mySQL = mySQL & " ORDER BY ID DESC"
    'Debug.Print mySQL
    '
    'Dim rst As DAO.Recordset
    'Set rst = CurrentDb.OpenRecordset(mySQL)
    'rst.MoveLast: rst.MoveFirst
    'Last_Disc_End_Date = rst!DiscountEndDate
    Last_Disc_End_Date = DLookup("[DiscountEndDate]", "qry_Last_Disc_End_Date")
    
    If Me.DiscountStartDate <= Last_Disc_End_Date Then
        MsgBox " تاريخ بداية الخصم أكبر أو يساوي تاريخ نهاية الخصم السابق"
        Cancel = True
        Me.Undo
    End If
    
End Sub

هل يوجد شيء اخر عدلت فيه اخر عدلت فيه 

الإستعلام.png

رابط هذا التعليق
شارك

عفوا ، نسيت ارجع الاستعلام ليقوم بأخذ القيمة من النموذج الفرعي :blink:

 

استخدم هذا SQL للاستعلام qry_Last_Disc_End_Date :

SELECT DiscountEndDate
FROM Cridi
WHERE DiscountEndDate Is Not Null AND EmployeeID=[Forms]![frmCridi]![frmCridi_sub]![EmployeeID]
ORDER BY ID DESC

 

جعفر

رابط هذا التعليق
شارك

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

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



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information