استعلام المواد القريبة انتهاء الصلاحية في Paradox
#1
السلام عليكم ورحمة الله وبركاته

ما الخطأ في هاته الكتابة
قاعدة البيانات بارادوكس
 
SELECT * FROM PRODUCTS
WHERE DATE_PROD < TODAY +6

ابحث عن تاريخ المواد القريبة انتهاء الصلاحية ولم اعرف كيف اكتب لبتعبيمة الصحيحة
الرد
#2
وعليكم السلام ورحمة الله وبركاته ،
لست أدري إذا كانت التعليمة  TODAY  معروفة في ال Paradox ؟
على كل حال ، لماذا لا تستعمل الباراميتر ؟

كود :
SELECT * FROM PRODUCTS WHERE DATE_PROD < :MyDate


وبعد ذلك تقوم بإمرار قيمة الباراميتر برمجيا

كود :
MyQuery.close; MyQuery.ParamByName('MyDate').asDate := IncDay(Date, 6); MyQuery.open
;
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#3
إقتباس :لست أدري إذا كانت التعليمة  TODAY
غير معرفة... يمكن ايضا كتابة التاريخ مباشرة
كود :
Query1.close; Query1.SQL.Clear; Query1.SQL.add('SELECT * FROM PRODUCTS WHERE DATE_PROD < '+Quotedstr(DateToStr(Date+6))); Query1.open;
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
[-] كل من 2 users say قال شكرا ل محمد عبد العزيز على المشاركة المفيدة
  • أبو معاذ, wadoud
الرد
#4
كود :
procedure TForm1.Button1Click(Sender: TObject); var D1,D2: TDateTime; diff: Integer; //الفرق begin Memo1.Lines.Clear; ABSTable1.First; repeat if ABSTable1.Eof=false then begin D1 :=ABSTable1.FieldValues['Date_VEN']; //تاريخ انتهاء صلاحية المادة D2 :=Date; // تاريخ اليوم diff := trunc(D1) - trunc(D2); // trunc حساب الفرق باستعمال الدالة IF D2>D1 THEN Memo1.Lines.Add(ABSTable1.FieldValues['Code_Pro']+' / '+'perime il y a'+ ' : '+ IntToStr(diff)+' '+'jour(s)' ) ; IF D2<D1 THEN Memo1.Lines.Add(ABSTable1.FieldValues['Code_Pro']+' / '+'reste'+ ' : '+ IntToStr(diff)+' '+'jour(s)' ) ; end ; ABSTable1.Next; until ABSTable1.Eof=true; end;
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم