المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : استعلام بواسطة زيادة ايام معينة ؟


amar_del2007
28-08-2010, 12:00 PM
السلام عليكم :
اود ان اعمل استعلام يكون كالتالي : عندي جدول يحتوي على تاريخ معين ، اود ان اعمل استعلام في حال عند زيادة مثلاً 30 يوم على هذا التاريخ وكان اقل من NOW يدير كود معين ، كيف لي ان اصل لهذا المطلب حاولت ولكن فشلت المحاولة ، حيث المشكلة عندما اربط باراميتر بالاستعلام يعني مثلاً select * from customer where now-temp_date=:c
حيث المطلوب تكون المدة 30 يوم ماذا اكتب في البارامتر c ولكم الشـــكر

Lam.Abdeldjalil
28-08-2010, 03:20 PM
و عليكم السلام ورحمة الله

ممكن يساعدك هذا الكود بالنسبة للجزء الأول

استعلام في حال عند زيادة مثلاً 30 يوم على هذا التاريخ
adoquery1.Close;
adoquery1.SQL.Clear ;
adoquery1.Parameters.CreateParameter('date1',ftdat e,pdInput,16,date).Value:=date+30;
adoquery1.SQL.Add('select * from table1 where date_a =:date1');
adoquery1.Open;
نفس الشيئ بالنسبة

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

هذا حسبما فهمت :unsure:

بالتوفيق

kachwahed
28-08-2010, 03:25 PM
وعليكم السلام ورحمة الله
هذا مثال مشابه للاستعلام عن المولودين قبل 1970
'SELECT Customer client'
'WHERE (:Today - CustDate) > '01-01-1970'

ADOQuery.Close;
ADOQuery.Parameters.ParamByName('Today').Value := Date;
ADOQuery.Prepared := True;
ADOQuery.Open;

حاول وجرب...
بالتوفيق.

amar_del2007
28-08-2010, 04:02 PM
السلام عليكم :
شكراً على اجاباتكم يا اخوان انا **** عندما يكون الفرق بين تاريخ اليوم والتاريخ المخزن في قاعدة البيانات اكثر او يساوي 30 يظهر السجلات ... مثل هذا ولكن ناقص المقارنة هل يمكن ان تكملوه

select * ,datediff("d",:c,temp_date) as tempo from customers حيث c: هي تاريخ اليوم date

Lam.Abdeldjalil
28-08-2010, 04:30 PM
و عليكم السلام و رحمة الله

شرط بسيط

SELECT* from customers where (DateDiff('d',temp_date,Date () )< 30);Date () هو تاريخ النظام

أي دون إستخدام بارامتر


بالتوفيق

amar_del2007
28-08-2010, 04:37 PM
بارك الله فيك يا اخ عبد الجليل وجزاك الله خير الجزاء والله ممكن الصيام مأثر عليه ... شكراً لك

Lam.Abdeldjalil
28-08-2010, 04:52 PM
و فيك بارك الله أخ عمار

والله ممكن الصيام مأثر عليه بعد قليل يبدأ التأثير :laugh:


بالتوفيق

amar_del2007
28-08-2010, 04:56 PM
السلام عليكم :
اخ عبد الجليل كلامك صحيح هههه بدأ التأثير فعلاً .. النتجية تظهر كافة السجلات هل يوجد مشكلة انا عندي اغلب السجلات تاريخها 24/8/2010 لليوم مفاتش 30 يوم ليش تظهر كل السجلات ...

Lam.Abdeldjalil
28-08-2010, 05:07 PM
و عليكم السلام و رحمة الله

يبدو أن الشرط مقلوب جرب :

SELECT* from customers where (DateDiff('d',temp_date,Date () )>= 30);تظهر كل السجلاتمستحيل أن تظهر إذا لم يتحقق الشرط

بالتوفيق

amar_del2007
28-08-2010, 05:16 PM
الاخ عبد الجليل
سوق ارفق الآن ملف **** الانتظار

amar_del2007
28-08-2010, 05:17 PM
السلام عليكم :
هذا توضيح

Lam.Abdeldjalil
28-08-2010, 05:29 PM
و عليكم السلام و رحمة الله

:angry: و أين الشرط where

الإستعلام بهذا الشكل

select cust_name,temp_date,cus_id from customers where (datediff("d",temp_date,DATE())>=30) يبدو أن رمضان أثر عليك فعلا :)
بالتوفيق

amar_del2007
28-08-2010, 05:39 PM
السلام عليكم :
فعلاً كان كلامك بعد شوية يكون التأثير اقوى مش هذا وبس انا منمتش لحد الآن منذ امس .. رمضان كريم وافطاراً شهياً اتمناه لك ..

Lam.Abdeldjalil
28-08-2010, 05:47 PM
و عليكم السلام ورحمة الله

بعد شوية يكون التأثير اقوىلم أفهمها

انا منمتش لحد الآن منذ امس:eek:

رمضان كريم وتقبل الله الصيام والقيام

amar_del2007
28-08-2010, 05:49 PM
اقصد النوم