الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكنني البحث عن تواريخ و مواقيت

بدأه joud-kheder في 12 فبراير 2009 · 4 رد · 595 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

والسلام عليكــم ورحمـة الله وبركاتــه

بتمنى تجاوبوني على أسئلتي :

السؤال الأول

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

السؤال الثاني :

إذا أردت البحث عن التواريخ بين تاريخين فما هو الكود أيضا ؟

كذلك الأمر للأوقات

مثلا بعد وقت معين

قبل وقت معين

بين توقيتين

وشكرا لاهتمامكم

J.A.D

JOUD.NET

jado.kheder@hotmail.com

#2

للبحث عن التواريخ التي تسبق تاريخ محدد

 


[color= #993333; font-weight: bold;]SELECT [color= #66cc66;]* [color= #993333; font-weight: bold;]FROM Table1 [color= #993333; font-weight: bold;]WHERE Field1 [color= #66cc66;]< [color= #ff0000;]'2008/12/31'

للبحث عن التواريخ التي تسبق او تساوي تاريخ محدد

 

[color= #993333; font-weight: bold;]SELECT [color= #66cc66;]* [color= #993333; font-weight: bold;]FROM Table1 [color= #993333; font-weight: bold;]WHERE Field1 [color= #66cc66;]<= [color= #ff0000;]'2008/12/31'

اما للبحث عن التواريخ التي تلي تاريخ محدد .. فانظر اعله وغير علامة الـ > إلى <

أما للبحث عن تاريخ يتوسط تاريخين .. فيجب أن يكون كالتالي

 

[color= #993333; font-weight: bold;]SELECT [color= #66cc66;]* [color= #993333; font-weight: bold;]FROM Table1 [color= #993333; font-weight: bold;]WHERE Field1 [color= #993333; font-weight: bold;]BETWEEN [color= #ff0000;]'2008/01/01' [color= #993333; font-weight: bold;]AND [color= #808080; font-style: italic;]#2008/12/31'

علما بأن التاريخين المدخلان سيتم جلب التواريخ المطابقة لهم أيضا

ويجب مراعاة ان التاريخ الأول هو الأصغر والتاريخ الثاني هو الأكبر

ما سبق كان بالنسبة للـ SQL Server .. ونفس الرد للـ Access ولكن بإستبدال رمز الـ ' برمز الـ #

تم تعديل هذه المشاركة بواسطة mrx_ta7ady في 12 فبراير 2009 في 14:52

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

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

#3

شكرا اخ تحدي عم عذبك بأسئلتي

يعطيك الصحة والعافية

بس في سؤال

فينا نستبدلما يلي :

SELECT * FROM Table1 WHERE Field1 BETWEEN '2008/01/01' AND #2008/12/31'

بـــــ

SELECT * FROM Table1 WHERE Field1 BETWEEN text1' AND #text2

بدون ما نعدل بالفواصل والإشارات

و السؤال الثاني :

عندما يبحث البرنامج بالكود في الأعلى هل يبحث عن القيم النصية أو يفهمها على أنها قيم تاريخية أعتقد يفهمها على أنها قيم تاريخية

و شكرا

J.A.D

JOUD.NET

jado.kheder@hotmail.com

#4

نعم يمكنك ذلك

بعد علامة '

اكتب الكود

SELECT * FROM Table1 WHERE Field1 BETWEEN ' & text1.text & "'" AND #& text2

تم تعديل هذه المشاركة بواسطة محمد زياد الخياط في 13 فبراير 2009 في 14:42

لا اله الا الله وحده لا شريك له

#5

أولا جملة الـ SELECT عبارة عن نص .. بإمكانك فصله وإعطائه قيم غير معلومة .. ولكن يجب فصله أولا

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

لانه وببساطه شديدة من أين لقاعدة البيانات المعرفة بـ Text1 و Text2 ?? قاعدة البيانات لا تعرف شيئا قط عن برنامجك

فهي كائن جاهل معرفته محدودة جدا ولن تعرف أكثر من ما قمت انت بتعريفه إليها

نستنتج من ما سبق حتمية فصل الجملة و التعويض عن قيمة الحقل .. مثال على ذلك

"SELECT * FROM Table1 WHERE Field1 BETWEEN #" & Text1 & "# AND #" & Text2 & "#"

أما ثانيا فأحب ان اوضح ان الرمز # هذا للحقول من نوعية التواريخ .. والرمز ' هذا لنوعية الحقول النصية

والحقول من نوعية الارقام ليس لها اي رمز جبري .. ولكن لها رموز إختيارية كـ () الأقواس هذه

ولا تنسى أن الرمزو جميعها يجب ان تكون مزدوجه .. أي الأول عند بداية القيمة والثاني عند نهايتها .. ولا يجوز ابدا إستخدام رمز واحد

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

ولا تنسى أن الآلة ايا كانت في منتهى الغباء .. لانها من صنع البشر وغير قادرة على إمتلاك ادنى نسبة من الذكاء الفطري

ولكن من قبلنا قاموا ببرمجة هذه الآلة للتحقق ما اذا كان الحقل قيمته تاريخ أم لا .. أقصد الدالة IsDate

فبإمكانك إستخدامها لمعرفة قيمة الحقل من نوعية التاريخ ام لا .. حيث سترجع بـ True إذا تاريخ أو False إذا غير ذلك

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

فليقبل الجميع تقديري واحترامي .. ولكم تحياتي

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…