منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : (تم الحل)مشكلة في الاستعلام بين تاريخين
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم اخواني اعضاء المنتدي الرائع 
اولا اتقدم للاخوه sniper.ps , ahmed_mansoor  , myalsailamy بالشكر والتقدير 

اخواني عندي مشكلة في البحث بين تاريخين 
حيث اني قد بحثت في المنتدي ووجدت نفس المشاكل ولكن لم اجد الحل 

عند البحث بين تاريخين لا يعمل بدقة لا اعلم ما السبب 
اذا بحثت من تاريخ الي تاريخ يظهر لي كل السجلات وكانه لم يقرا الشرط 
ماهو الحل الشافي ولكم مني جزيل الشكر 
 
صوره 

[attachment=8874]

البرنامج في المرفقات
اخى العزيز

جرب الكود التالى و ان شاء الله سوف يعمل


كود :
RS2.Open "Select * From stuTable Where studateregs Between #" & DTPicker1.Value & "# and #" & DTPicker2.Value & "# and studateregs >= #" & DTPicker1.Value & "# and studateregs <= #" & DTPicker2.Value & "#", Db, adOpenStatic, adLockOptimistic
ان شاءالله يعمل جاري التجربه اخي وسارد لك خبر
RS2.Open _
" Select * " & _
" From stuTable " & _
" Where studateregs Between #" & DTPicker1.Value & "# AND #" & DTPicker2.Value & "#" _
, Db, adOpenStatic, adLockOptimistic
شكرا اخي [b]Ashraf Elafify [/b]
[b]ولكن لا فائده [/b]

[b]شوفوا الغرابة في العرض [/b]
[attachment=8898]


وهذه صورة اخري 

[attachment=8899]

اخي sami2015 جاري التجربه
شكرا علي اهتمامك

(30-12-15, 04:42 AM)sami2015 كتب : [ -> ]RS2.Open _
" Select * " & _
" From stuTable " & _
" Where studateregs Between #" & DTPicker1.Value & "# AND #" & DTPicker2.Value & "#" _
, Db, adOpenStatic, adLockOptimistic

اخي سامي شكرا علي مداخلتك الجميله وتسلم علي طيبه قلبك ولكن الكود يعطي نفس المشكلة 

شكرا
عزيزي الفاضل ،، فيه نقطه احب اوضحها بالرغم عدم خبرتي الطويله في vb6
في خطا عام الغالبيه تقترفه و هي ان format التاريخ الذي بالواجهات مختلف عن صيغة التاريخ المحفوظ بقاعدة البيانات ،، للتوضيح اكثر اولا قبل كل شيء التحقق من ان الحقل الذي بقاعدة البيانات من نوع Date ثانيا التحقق من الصيغه اي قد يعرض بقاعدة البيانات الشهر قبل اليوم و في الواجهه العكس او السنة تبدا من اليمين و قاعدة البيانات عرضها يبدا من اليسار و هكذا قس عليها ،، تتعدد الاخطأ و يبقى للتجربه مقياس ،، و اولها جرب تدخل الفورمات و تطبيقها على قاعدة البيانات بعيدا عن vb6 اذا ضبطت معاك يبقى الخلل في طريقة دمج التاريخ و حتى ارساله الى قاعدة البيانات ،،، في اسوا الاحوال و لا افضلها و لكن اذا انعدمت كفاءة الاستعلام بالتاريخ فانك تضيف عمود في قاعدة البيانات على شكل رقم طويل و تحفظ التاريخ على شكل رقم فمثلا تاريخ ٢٠١٥١٢٠٥ واذا اردت البحث فما عليك الا البحث من الرقم الفلاني الى الرقم الفلاني الي هو يوازي البحث من التاريخ الفلاني الى التاريخ الفلاني
تسلم اخي الغالي
الصراحه انا محرج كثير منك لانك اعطيتنا وقت من وقتك وردك لي
اقدر نقرات اصابعك ع الكي بورد لتكتب لي كل هذا الكلام
انت طيب
متاكد من نوع الحق تاريخ ووقت
الله العالم ايش المشكله

يمكن حد من اعضاءالمنتدي الطيبين مثلك طبعا ان يحل لي المشكله
اخى العزيز

كما قل زميلنا الفاضل ان الخطأ من الممكن انه يكون فى فورمات التاريخ ولهذا يجب ضبط صيغه التاريخ كما يلى :-

كود :
DTPicker1.Value = Day(Now) & "/" & Month(Now) & "/" & Year(Now)
DTPicker2.Value = Day(Now) & "/" & Month(Now) & "/" & Year(Now)

فى انتظار ردك هل تم حل المشكله ام ماذا؟

ملحوظة : يجب ان يكون DTPicker1 أصغر فى القيمة من DTPicker2.

لأن فى المثال يظهر البحث بين تاريخين 01/03/2015 و 01/01/2015.

فلو الخطأ فى صيغة الفورمات فيكون البحث بين التاريخين 03/01/2015 الى 01/01/2015 وهذا خطأ.
و ايضا يجب ان يكون تنسيق التاريخ فى قاعدة البيانات كما يلى :-

dd/mm/yyyy

حتى يتم مطابقة تنسيق التاريخ فى البرنامج و قاعدة البيانات .

والله الموفق
جاري التجربه
الصفحات : 1 2