أولا ستجد مشروع مبسط مرفق .. يمكننا المناقشة عليه ..
عند استخدام أي طريقة للبحث بين تاريخين في جملة SQL.
فكل ما نقوم به هو استخدام الصيغة التالية :
Where Date Between #Date1# And #Date#
ولكن عبارة [ between .. And ] تستخدم لحصر القيم العددية ..
والمعروف أن صيغة التاريخ ليست أبدا كمية عددية.
بالتالي إذا قمنا باستخدام الصيغة السابقة علي تاريخين كالتالي :
صيغة التااريخ هي dd/mm/yyyy
Where Date Between #01/09/2006# And #30/09/2006#
فالمفروض أن يتم حصر جميع أيام شهر 9 لسنة 2006..
ولكن ستجد من بين القيم المحصورة تاريخ مثل
01/05/2006 و 10/08/2006
الذي حدث أنه تم حصر جميع التواريخ بين العددين [between 01 And 30] بالإضافة الي الأشهر الأصغر من 09
المهم لن ندخل في التفاصيل التي علي أساسها يتم مقارنة التواريخ ككميات عددية ..لأنها لن تؤدي إلي شيء..سوي أن الصيغة Between .. And مش شغاله بصورة صحيحة..
المهم أنني حاولت أن أفكر في طريقة أخري لحصر التواريخ بين فترتين..
فلم أجد إلا طريقة عقيمة يتم من خلالها معرفة جميع التواريخ بين فترتين ..عن طريق زيادة يوم علي تاريخ البدء وهكذا إلي أن نصل إلي تاريخ الانتهاء..
ومن ثم تجميع تلك التواريخ في جملة SQL ..
الطريقة شغاله كما ستري في المشروع المرفق ..
ولكن عندما يتجاوز فرق التاريخين قرابة 8 أشهر .. فسيعطي بالتأكيد رسالة Query is Too Complex
في النهاية .. أرجو ممن لديه الخبرة في هذا الأمر بالمشاركة بأفكار أو باقتراحات..


