مشاهدة النسخة كاملة : استعلام بواسطة زيادة ايام معينة ؟
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
اقصد النوم
vBulletin® , Copyright ©2008-2012