كود البحث بين تاريخين مع أستخدام أداة عرض التاريخ DTPicker

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

كود البحث بين تاريخين مع أستخدام أداة عرض التاريخ DTPicker

مُساهمة من طرف أحمد مناع في الإثنين مارس 26, 2012 11:59 am

بسم الله الرحمن الرحيم

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



أولا : أعرض عليكم نص البحث بين تارخين وهو على النحو التالى :

<p>
<p>

مع ملاحظة ما هو باللون الاحمر وذلك على النحو التالى :


_ Tabel1 ...هو أسم الجدول فى قاعدة البيانات



_ date ...هو أسم حقل التاريخ أو الحقل الذى يوجد به التاريخ المراد البحث عنه .



_ date1 ...هو قيمة التاريخ الاول



_ date2 ...هو قيمة التاريخ الثانى



ثانيا : كيف يتم تطبيق هذا الكود



1_ فى حالة أستخدام الاداة Adodc1 فى ربط قاعدة البيانات يتم تطبيقة على النحو التالى :



2_فى حالة أستخدام مكتبة ado و سأقوم بعرض الكود على أساس أنك تعلم كيفية الاتصال بقاعدة البيانات بتلك المكتبة ..أى أننى سأقوم بعرض الكود دون التطرق لعملية الاتصال و فتح الجدول بأستخدام تلك المكتبة ...وذلك على النحو التالى :




ثالثا : كيفية أستخدام أداة عرض التاريخ DTPicker



طبعا فى الاكواد السابقة أستخدمنا أداة النصوص text لاستقبال قيمة التاريخ من المستخدم لكن هناك أداة جميلة تسمى DTPicker يمكنك أن تسخدمها بدلا من مربع النصوص وذلك على النحو التالى :



- أستدعاء الاداة و ذلك من خلال كليك يمين على شريط الادوات القياسى ثم أختيار المكتبة Mirosoft Windows common controls 2.6.0 وذلك كما فى الصور التالية :











رابعا : كيفية ربط الاداة مع قاعدة البيانات .



لكى تتم عملية الربط نأتى لنافذة خصائص الاداة لربطها بقاعدة البيانات و ذلك من خلال خاصتىDataSource ,DataField كما فى الشكل التالى :






وهكذا نكون قد ربطنا اداة التاريخ DTPicker1 مع قاعدة البيانات ...



خامسا :كود البحث بين تاريخين بأستخدام الاداة DTPicker .



كود البحث بين تارخين لا يختلف كثيرا فى حالة أستخدام الاداة DTPicker بدلا من مربع النصوص Text و هو سيكون على النحو التالى :

الرمز:
 

Adodc1.RecordSource = "select * from Tabel1 where date Between #" & (DTPicker1.Value) & "# AND #" & (DTPicker2.Value) & "#"




- لكن هذا الكود به مشكلة ...فعند البحث عن التواريخ التى بين تاريخ 1/2/2012 حتى 29/2/2012 فستجد أن نتائج البحث ليست محصورة فقط بين هاذين التارخين ..فتجد مثلا من ضمن هذه النتائج تاريخ 2/1/2012 و لحل هذه المشكلة نقوم بتعديل الكود السابق على النحو التالى :

الرمز:
 

Dim d1, d2 As String
d1 = Format(Me.DTPicker1.Value, "yyyy/MM/dd")
d2 = Format(Me.DTPicker2.Value, "yyyy/MM/dd")

Adodc1.RecordSource = "select * from Tabel1 where date Between #" & d1 & "# AND #" & d2 & "#"




وبهذا الكود ستجد نتائج البحث مطابقة تماما للتواريخ المحصورة بين التاريخ الاول و الثانى



سادسا : تنسيق التاريخ فى أداة عرض التاريخ DTPicker .



من المعلوم أن التنسيق الافتراضى للتاريخ فى تلك الاداة يكون بهذا الشكل التالى :









أى أنه يقرأ من الشمال الى اليمين ...وبما أننا من المفروض أن نكون مبرمجين عرب فبالتالى يجب أن يكون التاريخ بهذا الشكل :









يتم ذلك من صفحة الخصائص لتلك الاداة و يتم ذلك عن طريق تحديد الاداة ثم كليك يمين ثم أختيار الامر propertise فتظهر لنا صحفة الخصائص كما فى الشكل التالى :









وكما هو موضح فى الصورة السابقة ..من خلال التبويب formate أخترنا التنسيق dtpcustom ...بعد ذلك كتبنا فى مربع النص Customformat النص التالى مع ملاحظة أن حروف M حروف كابيتال كبيرة :



yyyy/MM/dd



وبهذا نكون قد نسقنا التاريخ بحيث يقرأ من اليمين الى الشمال 1/12/2012 هكذا ....كما توجد نصوص أخرى للتنسيق ...فمثلا أذا أردنا أن يكون التنسيق بهذا الشكل :







نكتب نص التنسيق على المنوال التالى :



yyyy/MMMM/dd



أما أذا أردت أن تظهر لك أداة التاريخ أسم اليوم بالاضافة الى التاريخ كما فى الصورة التالية :









فإن نص التنسيق سيكون على المنوال التالى :



yyyyMMMMdd ddd



و أعتقد أن الطريقة قد وضحت ويمكنك تجربة و تأليف أى نص تنسيق كما يحلو لك





وفى النهاية أرجوا أن أكون قد قدمت المعلومة للجميع ....مع تحياتى القلبية لكم Very Happy

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 810
النقاط : 1479
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: كود البحث بين تاريخين مع أستخدام أداة عرض التاريخ DTPicker

مُساهمة من طرف ???? في الثلاثاء مارس 27, 2012 9:42 am

دائما في دورسك تكون رائع فالفكرة وصلت نشكلك على هذا ووفقك الله فيما يرضاه
لكن لدي سؤال
ماذا عندما نقوم بالبحث و نحصر امر البحث بين تاريخين الاول غير متوفر و الثاني متوفر فيعطني كل الارقام المشار لها في البحث بين هذا التاريخين سواء كان التاريخ المطلوب او لا
نأمل ان تكون الفكرة وصلت
تحياتي لشخصك الكريم

????
زائر


الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: كود البحث بين تاريخين مع أستخدام أداة عرض التاريخ DTPicker

مُساهمة من طرف أحمد مناع في الثلاثاء مارس 27, 2012 2:35 pm

khasd كتب:دائما في دورسك تكون رائع فالفكرة وصلت نشكلك على هذا ووفقك الله فيما يرضاه
لكن لدي سؤال
ماذا عندما نقوم بالبحث و نحصر امر البحث بين تاريخين الاول غير متوفر و الثاني متوفر فيعطني كل الارقام المشار لها في البحث بين هذا التاريخين سواء كان التاريخ المطلوب او لا
نأمل ان تكون الفكرة وصلت
تحياتي لشخصك الكريم


شكرا الاخت الفاضلة .....
أما بالنسبة لسؤالك ...فما فهمته هو أنك لا يتوافر لديك الا تاريخ واحد و تريدى البحث به ...فإن كان هذا هو مقصدك فأليكى الحل ...

الحل هو أن نستخدم المعاملات المنطقية بدلا من التاريخ الثانى ...و المعاملات المنطقية أقصد بها أكبر من ,أصغر من ,يساوى ...

فمثلا لا يتوافر لدى الا تاريخ واحد و أريد أن أبحث عن كافة الحقول التى تساوى هذا التاريخ فإن كود البحث سيكون على النحو التالى :


أما أذا كنت أريد البحث عن كافة التواريخ التى أكبر من التاريخ المدخل من المستخدم فإن الكود سيكون على النحو التالى :


و أيضا أذا كان البحث عن كافة التواريخ التى تكون أصغر من التاريخ الحالى أو المدخل من قبل المستخدم سيكون على النحو التالى :


و فى النهاية أرجوا أن أكون قد وفقت فى فهم ما تقصدينة وأن أكون قد وفقت أيضا فى الاجابة

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 810
النقاط : 1479
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: كود البحث بين تاريخين مع أستخدام أداة عرض التاريخ DTPicker

مُساهمة من طرف ???? في الأربعاء مارس 28, 2012 12:55 pm

تم ايصال الفكرة شكرا لك مجددا
دومت لنا نافعا

????
زائر


الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: كود البحث بين تاريخين مع أستخدام أداة عرض التاريخ DTPicker

مُساهمة من طرف RANA في الثلاثاء أكتوبر 01, 2013 12:38 pm

بدى أشكرك على مجهودك هيك

RANA
....
....

تاريخ التسجيل : 01/08/2013
المساهمات : 64
النقاط : 103
التقيم : 1
الدولة : فلسطين
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: كود البحث بين تاريخين مع أستخدام أداة عرض التاريخ DTPicker

مُساهمة من طرف gadr في الجمعة أغسطس 07, 2015 4:10 pm

ماذ لوكان لدي حقلين تاريخ ولدي اداتين  DTPicker2 DTPicker فكيف سيكون الكود
مشكور اخي الكريم

gadr
...
...

تاريخ التسجيل : 16/11/2014
المساهمات : 44
النقاط : 56
التقيم : 0
الدولة : ليبيا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى