المشاركات : 319
المواضيع 73
الإنتساب : Oct 2012
السمعة :
2
الشكر: 60
تم شكره 24 مرات في 23 مشاركات
السلام عليكم ورحمة الله وبركاتة
اخواني الافاضل انا الان لدي مشكلة لا اعرف كيف احلها
انا الان املك فترتين زمنيتين ،، لكل فتره عدد 2 تيكست بوكس لادخال التاريخ
الفترة الاول لها تاريخ بداية وتاريخ نهاية
والفترة الثانية لها تاريخ بداية وتاريخ نهاية
لنفترض انني وضعت الفترة الاولى هذين التاريخين
البداية 15/9/2013 والنهاية 20/9/2013
و الفترة الثانية كانت كذلك
البداية 19/9/2013 والنهاية 30/9/2013
اريد ان تظهر رساله لانه كما تلاحظون الفترة الثانية تعارضت مع الفتره الاولى بيوم واحد
ياريت لو تساعدوني فى تطبيق الكود
المشاركات : 7,391
المواضيع 803
الإنتساب : Sep 2013
السمعة :
846
الشكر: 13249
تم شكره 18795 مرات في 4414 مشاركات
ماهي المشكلة لو كل فترة بمثابة عمود في جدول؟
يعني جدول مثلا باسم tbl_first_time يحتوي عمودين :البداية والنهاية
وكذلك بالنسبة للجدول الاخر...اعتذر لو اني فهمت خطا.
المشاركات : 372
المواضيع 15
الإنتساب : Sep 2013
السمعة :
28
الشكر: 487
تم شكره 1677 مرات في 187 مشاركات
25-10-13, 04:52 PM
(آخر تعديل لهذه المشاركة : 25-10-13, 04:56 PM {2} بواسطة ناجي إبراهيم.)
السلام عليكم...
بالنسبة إلى اختبار التعارض يمكننا إنشاء دالة لهذا الغرض:
كود :
Public Module DateServices
Public Structure SDateInterval
Dim StartDate As Date ' تاريخ بداية الفترة
Dim EndDate As Date ' تاريخ نهاية الفترة
End Structure
' دالة الاختبار
Public Function IntervalConflict(ByVal Period1 As SDateInterval, ByVal Period2 As SDateInterval) As Boolean
If ((Period1.StartDate >= Period2.StartDate) And (Period1.StartDate <= Period2.EndDate)) Or _
((Period1.EndDate >= Period2.StartDate) And (Period1.EndDate <= Period2.EndDate)) Then
Return True ' تعارض
Else
Return False ' لا يوجد تعارض
End If
End Function
End Module
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Period1 As SDateInterval
Dim Period2 As SDateInterval
' القيم التالية للتجربة - يمكن قراءتها من مربعات نص أو غيرها
Period1.StartDate = #10/1/2013#
Period1.EndDate = #10/15/2013#
Period2.StartDate = #10/13/2013#
Period2.EndDate = #10/28/2013#
If IntervalConflict(Period2, Period1) Then
MsgBox("Conflicts")
Else
MsgBox("No conflict")
End If
End Sub
End Class
* لا يهم ترتيب الفترتين عند استدعاء الدالة.
بالنسبة إلى طريقة إدخال القيم فإنه يمكنك استعمال مربعات النص أو DateTimePicker.
نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ