السلام عليكم اعضاء النتدي
عندي سؤال كيف يتم تمرير قيمة
MonthCalendar1 الى ADOQuery فى دلفى 7
الستعلام
كود :
SELECT "POSDETAIL"."ReduceInventory", "POSDETAIL"."QUAN", "POSDETAIL"."PRODTYPE", "POSDETAIL"."COSTEACH", "POSDETAIL"."OpenDate", "REPORTCAT"."DESCRIPT", "Product"."DESCRIPT", "POSDETAIL"."NetCostEach"
FROM ("DBA"."POSDETAIL" "POSDETAIL" INNER JOIN "DBA"."Product" "Product" ON "POSDETAIL"."PRODNUM"="Product"."PRODNUM") INNER JOIN "DBA"."REPORTCAT" "REPORTCAT" ON "Product"."REPORTNO"="REPORTCAT"."REPORTNO"
WHERE "POSDETAIL"."OpenDate"={d 'MonthCalendar1'} AND "POSDETAIL"."ReduceInventory">0 AND "POSDETAIL"."PRODTYPE"<>100
ORDER BY "REPORTCAT"."DESCRIPT", "Product"."DESCRIPT
البرنامج فى المرفقات
وعليكم السلام ورحمة الله وبركاته ،
وأهلا وسهلا بك بيننا.
في الاستعلام نفسه ، لكن في هذا الجزء:
كود :
WHERE "POSDETAIL"."OpenDate"={d 'MonthCalendar1'}
تكتب :
كود :
WHERE "POSDETAIL"."OpenDate"= :MyDate
حيث أن MyDate هو اسم الباراميتر.
وفي برنامج الدلفي لتمرير قيمة الباراميتر :
كود :
ADoQyery1.close ;
ADoQuery1.Params.ParamByName('MyDate').Value:= DateTimePicker1.date ;
ADOQyery1.open;
جزاك الله كل خير
طيب لو اريد ان اضع تاريخ الجهاز بدون ما يدخل المسخدم
ممكن تشرح الطريقة
شكرا اخي العزيز
لكن الكود لم يعمل ممكن مزيد من التوضيح
البرنامج فى المرفقات لامزيد من التوضيح
إقتباس :طيب لو اريد ان اضع تاريخ الجهاز بدون ما يدخل المسخدم
ممكن تشرح الطريقة
نفس الطريقة ،
كود :
ADoQyery1.close ;
ADoQuery1.Params.ParamByName('MyDate').Value:= date ;
ADOQyery1.open;
إقتباس :لكن الكود لم يعمل ممكن مزيد من التوضيح
البرنامج فى المرفقات لامزيد من التوضيح
ما هي رسالة الخطأ التي واجهتها؟
السلام عليكم اخي العزيز
الرجاء ان تسامحنى انا تعبتك معي انا كنت استخدم دلفى من قبل 6 سنوات والظاهر اني ناسي كل شي
ممكن تعطينى مثال واضح
الربنامج الى بعمل علية داخل المرفقات لمزد من المساعده
وهو هوا ببساطه اسنعلام معين اريد طباعتة حسب وقت الجهاز او ممكن عن طريق المسخدم
رسالة الخطاء
[Error] Unit1.pas(35): Declaration expected but identifier 'ADoQyery1' found
[Error] Unit1.pas(45): Undeclared identifier: 'ADoQyery1'
[Error] Unit1.pas(46): Undeclared identifier: 'Params'
[Error] Unit1.pas(46): Missing operator or semicolon
[Error] Unit1.pas(47): Missing operator or semicolon
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
وعليكم السلام ورحمة الله وبركاته ،
أظن أن الخطأ في طريقة كتابة الاستعلام في حد ذاته.
انظر مثلا :
كود :
SELECT "POSDETAIL"."ReduceInventory",
هل POSDETAIL هو اسم الجدول ؟ أم ماذا يمثل ؟
كود :
FROM ("DBA"."POSDETAIL" "POSDETAIL" INNER JOIN "DBA"."Product" "Product" ON "POSDETAIL"."PRODNUM"="Product"."PRODNUM")
كود :
ماذا يعني DBA هل هو أيضا اسم الجدول ؟
أنا لا استطيع التعديل على التعليمة Sql ، لأنني لا أملك قاعدة البيانات...
السلام عليكم اخي الكريم انا اتعامل مع قاعد بيانات اسمها sql anywhere
ومن شروط الاستعلام هي ان تضيف dba. قبل اسم الجدول
ملاحظة:
عند وضع التاريخ فى الاستعلام بشكل مياشر يمكن مشاهده التقرير
وانا استعمل دلفى 7 ولمن اكتب ADOQuery1. وبعد ما اضع (.) وضعط مسطره المساعد لايوجد به params
وعليكم السلام ورحمة الله وبركاته ،
للأسف لم أتعامل مع sql anywhere من قبل ،
لكن جربتعليمة ال Sql دون أي باراميتر بمعنى :
في التعليمة
كود :
WHERE "POSDETAIL"."OpenDate"={d 'MonthCalendar1'}
اكتب :
كود :
WHERE "POSDETAIL"."OpenDate"= '01/01/2016'
بهذه الطريقة ستصحح تعليمة ال Sql لديك ،
عندما يصبح كل شيء على ما يرام ، عوض التاريخ بالباراميتر MyDate .
بالتوفيق.
السلام عليكم اخي العزيز
ممكن ترشدني اين الخطاء
الرجاء النظر فى المرفقات