المشاركات : 136
المواضيع 20
:
: 0
الإنتساب : Feb 2008
السلام عليكم
لدي جدول بها بيانات (الاسم والدائن والمدين )
كيف جمع الدائن والمدين عن طريق group بحيث يكون هنالك مجموعين (المجموع الاول يكون لفترة المحدد والمجموع الثاني يكون للفترة الذي يكون قبله وايضا يكون محددة ) الفترة الاولي يكون الارصدة الحالية والفترة الثانية يكون ارصدة مرحلة من فترة سابقة
انا استطعت جمع الفترة المحددة ولكن لم استطيع للفترة السابقة
هذا هو الكود
كود :
select name_emp,sum(daen) as sdaen,sum(mden) as smden from t_daenen where date_e between :p1 and :p2 group by name_emp
ولكم جزيل الشكر
المشاركات : 628
المواضيع 72
:
: 211
الإنتساب : Jun 2010
وعليكم السلام
محاولة
كود :
select name_emp,sum(daen) as sdaen,sum(mden) as smden from t_daenen where date_e between :p1 and :p2 and date_e >:p2 and date_e <:p1 group by name_emp
أدبني الدهر فأراني نقص عقلي وإذا ما ازددت علما زادني علما بجهلي
المشاركات : 136
المواضيع 20
:
: 0
الإنتساب : Feb 2008
مشكور علي الرد
ولكن sdaen و smden سيكون لاي تاريخ قبل ام بعد
اذا قمت بايجاد القيم عن طريق (2 ) ADOQuery منفصلين هل من طريقة ان اربط بين الحقول في QuickReport
المشاركات : 136
المواضيع 20
:
: 0
الإنتساب : Feb 2008
قمت بعدة محاولات وتوصلت الي كود ولكنه يعطي رسالة خطا
كود :
ADOQuery2.SQL.Add('select name_emp,sum(daen) as sdaen,sum(mden) as smden from t_daenen where date_e between :p1 and :p2
and name_emp in (select name_emp,sum(daen) as sdaen1,sum(mden) as smden1 from t_daenen where date_e between :p3 and :p4 group by name_emp'+')'+'group by name_emp');
رسالة خطا
Only one expression can be specified in the select list when the subquery is not introduced with EXISTS
المشاركات : 628
المواضيع 72
:
: 211
الإنتساب : Jun 2010
format82 كتب :
إن لم تنجح قم بكتابة إستعلامك على أكثر من سطر أو حاول إستعمال
PHP كود :
ADOQuery2.SQL.TEXT:='جملة الإستعلام'
أو ضع محاولتك لنعمل عليها سويا
أدبني الدهر فأراني نقص عقلي وإذا ما ازددت علما زادني علما بجهلي
المشاركات : 136
المواضيع 20
:
: 0
الإنتساب : Feb 2008
مشكور اخي علي الرد
انا اعمل في برنامج محاسبي هناك شاشة اسمه الدائنون فيها عديد من الاسماء وهذه الاسماء تتكرر كثيرا
عرض الاسماء في شكل group بالاضافة الي مجموع الدائن ومجموع المدين في فترة المحددة واضافة لذلك ايضا مجموع الدائن ومجموع المدين لفترة سابقة وايضا محددة كل ذلك يستخرج من جدول واحد وهو جدول الدائنون
وهذه هي محاولتي
كود :
ADOQuery2.Close;
ADOQuery2.SQL.Clear ;
ADOQuery2.SQL.Add('select name_emp,sum(daen) as sdaen,sum(mden) as smden from t_daenen where date_e between :p1 and :p2 and name_emp in (select name_emp,sum(daen) as sdaen1,sum(mden) as smden1 from t_daenen where date_e between :p3 and :p4 group by name_emp'+')'+'group by name_emp');
ADOQuery2.Parameters.ParamByName('p1').Value := datetostr(datetimepicker1.Date) ;
ADOQuery2.Parameters.ParamByName('p2').Value := datetostr(datetimepicker2.Date) ;
ADOQuery2.Parameters.ParamByName('p3').Value := datetostr(datetimepicker17.Date) ;
ADOQuery2.Parameters.ParamByName('p4').Value := datetostr(datetimepicker18.Date) ;
ADOQuery2.Open;
if ADOQuery2.Recordcount=0 then
ShowMessage('áÇ ÊæÌÏ ÈíÇäÇÊ ãÊæÝÑÉ Ýí åÐÇ ÇáãÏì')
else
begin
Form47.QuickRep1.PreviewModal;
end;