كيفية اظهار جمع نتائج عدة جداول في ورقة واحدة
#1
Photo 
السلام عليكم 
لدي برنامج به 10 جداول وهذه الجداول لها نفس اسماء الحقول كانه جدول واحد مكرر ولها حقل رئيسي متمثل في تاريخ اليوم
كل جدول من هذه الجداول تسجل به ادخال العمليات يوميا على حسب العمل كما يمكن ان لا تسجل به ليوم او عدة ايام
حث تتم عملية يوقيف حسابات جميع الجداول بتاريخ كل من 26 من كل شهر  وبعدها تجمع مجاميع كل الحقل المتشابه للجداول ال 10 لتعرض النتائج على الشكل التالي في المرفقات
فما هي صيغة SQL اللازمة لذلك علما ان قاعدة المعطيات المستعملة هي Firebird

اتمنا ان اجد الاجابة وشكرا

المشكل الاهم هو ايجاد كيفية عرض نتائج 10 جداول في QuickRep واحدة وما هي الاجراءات اللازومة لذلك


.jpg   f1.jpg (الحجم : 173.16 ك ب / التحميلات : 33)
.jpg   f1.jpg (الحجم : 173.16 ك ب / التحميلات : 33)
الرد
#2
السلام عليكم
استبعد فكرة 10 جداول متشابهة ؟ انصحك بالتفكير في تصميم قاعدة البيانات من جديد !
يمكن اختصارها الى جدولين فقط !
الفاشلون نوعان : الأول : فكر ولم يفعل .. والآخر: فعل ولم يفكر
الرد
#3
(12-12-2019, 10:27 PM)Mr.DOS كتب : السلام عليكم
استبعد فكرة 10 جداول متشابهة ؟ انصحك بالتفكير في تصميم قاعدة البيانات من جديد !
يمكن اختصارها الى جدولين فقط !
 كيف يتم ذلك اعطني فكرة لاني في امس الحاجة لهذه الفكرة
الرد
#4
طيب
الجدول 1 :
اترك جدول واحد كانموذج وضف اليه حقل جديد يميز الخدمة (serie)
عملية الاضافة تتم من على الفورم بشكل عادي ، على مستخدم البرنامج يحدد (serie) نوع الخدمة فقط deblocage او depense او ap ...
عند نهاية كل اسبوع ، او تاريخ معين ، تتم عملية جمع الحقول وفق الشرط وهو الحقل الاضافي (serie)

شكل عام للاستعلام
select sum(field1),sum(field2),sum(field3),sum(field4),
sum(field5).. from tablenam where condition (exa: where serie = deblocage)
---------------------------- وهكذا مع باقي ( serie)  
الجدول 2 :
الناتج من كل استعلام (الجدول 1): تقوم بإضافته للجدول الثاني
الفاشلون نوعان : الأول : فكر ولم يفعل .. والآخر: فعل ولم يفكر
الرد
#5
(12-12-2019, 11:15 PM)Mr.DOS كتب : طيب
الجدول 1 :
اترك جدول واحد كانموذج وضف اليه حقل جديد يميز الخدمة (serie)
عملية الاضافة تتم من على الفورم بشكل عادي ، على مستخدم البرنامج يحدد (serie) نوع الخدمة فقط deblocage او depense او ap ...
عند نهاية كل اسبوع ، او تاريخ معين ، تتم عملية جمع الحقول وفق الشرط وهو الحقل الاضافي (serie)

شكل عام للاستعلام
select sum(field1),sum(field2),sum(field3),sum(field4),
sum(field5).. from tablenam where condition (exa: where serie = deblocage)
---------------------------- وهكذا مع باقي ( serie)  
الجدول 2 :
الناتج من كل استعلام (الجدول 1): تقوم بإضافته للجدول الثاني

شكرا اخي وجاري التجريب 
هل ممكن استعلام اضافة النتاىج للجدول الثاني
الرد
#6
سلام عليكم / تقبل الله منا ومنكم 

هناك عدة طرق  اما عن طريق السحب والافلات او حفظ النتائج في مصفوفة او متغيرات ...
لكن انصحك بالطريقة السهلة
لما تعمل استعلام للجدول الاول : تكون قد جهزته مسبقا من وضع التصميم مع سحب وافلات للحقول على الفورم (طبعا يمكن اخفاءها)

الاضافة تكون على الجدول الثاني 2 استنادا من نتائج الحقول (dbedit....1 2 3 )

شكل عام  SQL
insert into table_name values (value1 value2 value3 ...)
value1=dbedit1.text مثلا وهكذا
value2=dbedit2.text ...

او الاضافة
table.append;
table.fieldbyname(fieldname).value:=dbedit1.text;
table.fieldbyname(fieldname).value:=dbedit2.text;
table.fieldbyname(fieldname).value:=dbedit3.text;
table.post;
الفاشلون نوعان : الأول : فكر ولم يفعل .. والآخر: فعل ولم يفكر
الرد
#7
(13-12-2019, 01:56 PM)Mr.DOS كتب : سلام عليكم / تقبل الله منا ومنكم 

هناك عدة طرق  اما عن طريق السحب والافلات او حفظ النتائج في مصفوفة او متغيرات ...
لكن انصحك بالطريقة السهلة
لما تعمل استعلام للجدول الاول : تكون قد جهزته مسبقا من وضع التصميم مع سحب وافلات للحقول على الفورم (طبعا يمكن اخفاءها)

الاضافة تكون على الجدول الثاني 2 استنادا من نتائج الحقول (dbedit....1 2 3 )

شكل عام  SQL
insert into table_name values (value1 value2 value3 ...)
value1=dbedit1.text مثلا وهكذا
value2=dbedit2.text ...

او الاضافة
table.append;
table.fieldbyname(fieldname).value:=dbedit1.text;
table.fieldbyname(fieldname).value:=dbedit2.text;
table.fieldbyname(fieldname).value:=dbedit3.text;
table.post;

قمت بمحاولة ادخال المعطيات عن طريق SQL بكتابة مايلي :

--------------------------------------------------
begin
DFM.Qadd.Close;
DFM.Qadd.SQL.Clear;
DFM.Qadd.SQL.Add('insert into S_Jour(DATE_JOURNNEE,SERIE_DU,SERIE_AU,QUITTANCE_DU,QUITTANCE_AU,') ;
DFM.Qadd.SQL.Add ('MONTANT_NUMERAIRE,MONTANT_BANCAIRE,MONTANT_CCP,APPLICATION');
DFM.Qadd.SQL.add(''''+form1.maskedit3.text+''','''+dbedit1.text+''','''+dbedit2.text+''',');
DFM.Qadd.SQL.add(' '''+dbedit3.text+''','''+dbedit4.text+''','''+dbedit5.text+''','''+dbedit6.text+''','''+dbedit7.text+''','''+dbedit21.text+'''');

DFM.Qadd.ExecSQL;
DFM.Qadd.Close;
DFM.Qadd.SQL.Clear;
DFM.Qadd.SQL.Add('select from S_Jour * order by SERIEDATE_JOURNNEE');
DFM.Qadd.Open;
end;
end;
-----------------------------------
نتج عنه الخطا التالي في المرفقات فما هو التصحيح

(13-12-2019, 01:56 PM)Mr.DOS كتب : سلام عليكم / تقبل الله منا ومنكم 

هناك عدة طرق  اما عن طريق السحب والافلات او حفظ النتائج في مصفوفة او متغيرات ...
لكن انصحك بالطريقة السهلة
لما تعمل استعلام للجدول الاول : تكون قد جهزته مسبقا من وضع التصميم مع سحب وافلات للحقول على الفورم (طبعا يمكن اخفاءها)

الاضافة تكون على الجدول الثاني 2 استنادا من نتائج الحقول (dbedit....1 2 3 )

شكل عام  SQL
insert into table_name values (value1 value2 value3 ...)
value1=dbedit1.text مثلا وهكذا
value2=dbedit2.text ...

او الاضافة
table.append;
table.fieldbyname(fieldname).value:=dbedit1.text;
table.fieldbyname(fieldname).value:=dbedit2.text;
table.fieldbyname(fieldname).value:=dbedit3.text;
table.post;

قمت بمحاولة ادخال المعطيات عن طريق SQL بكتابة مايلي :

--------------------------------------------------
begin
DFM.Qadd.Close;
DFM.Qadd.SQL.Clear;
DFM.Qadd.SQL.Add('insert into S_Jour(DATE_JOURNNEE,SERIE_DU,SERIE_AU,QUITTANCE_DU,QUITTANCE_AU,') ;
DFM.Qadd.SQL.Add ('MONTANT_NUMERAIRE,MONTANT_BANCAIRE,MONTANT_CCP,APPLICATION');
DFM.Qadd.SQL.add(''''+form1.maskedit3.text+''','''+dbedit1.text+''','''+dbedit2.text+''',');
DFM.Qadd.SQL.add(' '''+dbedit3.text+''','''+dbedit4.text+''','''+dbedit5.text+''','''+dbedit6.text+''','''+dbedit7.text+''','''+dbedit21.text+'''');

DFM.Qadd.ExecSQL;
DFM.Qadd.Close;
DFM.Qadd.SQL.Clear;
DFM.Qadd.SQL.Add('select from S_Jour * order by SERIEDATE_JOURNNEE');
DFM.Qadd.Open;
end;
end;
-----------------------------------
نتج عنه الخطا التالي في المرفقات فما هو التصحيح


الملفات المرفقة
.jpg   Sans titre.jpg (الحجم : 31.99 ك ب / التحميلات : 23)
الرد
#8
(16-12-2019, 04:32 PM)dahmane26 كتب :
(13-12-2019, 01:56 PM)Mr.DOS كتب : سلام عليكم / تقبل الله منا ومنكم 

هناك عدة طرق  اما عن طريق السحب والافلات او حفظ النتائج في مصفوفة او متغيرات ...
لكن انصحك بالطريقة السهلة
لما تعمل استعلام للجدول الاول : تكون قد جهزته مسبقا من وضع التصميم مع سحب وافلات للحقول على الفورم (طبعا يمكن اخفاءها)

الاضافة تكون على الجدول الثاني 2 استنادا من نتائج الحقول (dbedit....1 2 3 )

شكل عام  SQL
insert into table_name values (value1 value2 value3 ...)
value1=dbedit1.text مثلا وهكذا
value2=dbedit2.text ...

او الاضافة
table.append;
table.fieldbyname(fieldname).value:=dbedit1.text;
table.fieldbyname(fieldname).value:=dbedit2.text;
table.fieldbyname(fieldname).value:=dbedit3.text;
table.post;

قمت بمحاولة ادخال المعطيات عن طريق SQL بكتابة مايلي :

--------------------------------------------------
begin
DFM.Qadd.Close;
DFM.Qadd.SQL.Clear;
DFM.Qadd.SQL.Add('insert into S_Jour(DATE_JOURNNEE,SERIE_DU,SERIE_AU,QUITTANCE_DU,QUITTANCE_AU,') ;
DFM.Qadd.SQL.Add ('MONTANT_NUMERAIRE,MONTANT_BANCAIRE,MONTANT_CCP,APPLICATION');
DFM.Qadd.SQL.add(''''+form1.maskedit3.text+''','''+dbedit1.text+''','''+dbedit2.text+''',');
DFM.Qadd.SQL.add(' '''+dbedit3.text+''','''+dbedit4.text+''','''+dbedit5.text+''','''+dbedit6.text+''','''+dbedit7.text+''','''+dbedit21.text+'''');

DFM.Qadd.ExecSQL;
DFM.Qadd.Close;
DFM.Qadd.SQL.Clear;
DFM.Qadd.SQL.Add('select from S_Jour * order by SERIEDATE_JOURNNEE');
DFM.Qadd.Open;
end;
end;
-----------------------------------
نتج عنه الخطا التالي في المرفقات  فما هو التصحيح

(13-12-2019, 01:56 PM)Mr.DOS كتب : سلام عليكم / تقبل الله منا ومنكم 

هناك عدة طرق  اما عن طريق السحب والافلات او حفظ النتائج في مصفوفة او متغيرات ...
لكن انصحك بالطريقة السهلة
لما تعمل استعلام للجدول الاول : تكون قد جهزته مسبقا من وضع التصميم مع سحب وافلات للحقول على الفورم (طبعا يمكن اخفاءها)

الاضافة تكون على الجدول الثاني 2 استنادا من نتائج الحقول (dbedit....1 2 3 )

شكل عام  SQL
insert into table_name values (value1 value2 value3 ...)
value1=dbedit1.text مثلا وهكذا
value2=dbedit2.text ...

او الاضافة
table.append;
table.fieldbyname(fieldname).value:=dbedit1.text;
table.fieldbyname(fieldname).value:=dbedit2.text;
table.fieldbyname(fieldname).value:=dbedit3.text;
table.post;

قمت بمحاولة ادخال المعطيات عن طريق SQL بكتابة مايلي :

--------------------------------------------------
begin
DFM.Qadd.Close;
DFM.Qadd.SQL.Clear;
DFM.Qadd.SQL.Add('insert into S_Jour(DATE_JOURNNEE,SERIE_DU,SERIE_AU,QUITTANCE_DU,QUITTANCE_AU,') ;
DFM.Qadd.SQL.Add ('MONTANT_NUMERAIRE,MONTANT_BANCAIRE,MONTANT_CCP,APPLICATION');
DFM.Qadd.SQL.add(''''+form1.maskedit3.text+''','''+dbedit1.text+''','''+dbedit2.text+''',');
DFM.Qadd.SQL.add(' '''+dbedit3.text+''','''+dbedit4.text+''','''+dbedit5.text+''','''+dbedit6.text+''','''+dbedit7.text+''','''+dbedit21.text+'''');

DFM.Qadd.ExecSQL;
DFM.Qadd.Close;
DFM.Qadd.SQL.Clear;
DFM.Qadd.SQL.Add('select from S_Jour * order by SERIEDATE_JOURNNEE');
DFM.Qadd.Open;
end;
end;
-----------------------------------
نتج عنه الخطا التالي في المرفقات  فما هو التصحيح

(21-12-2019, 09:18 PM)dahmane26 كتب :
(16-12-2019, 04:32 PM)dahmane26 كتب :
(13-12-2019, 01:56 PM)Mr.DOS كتب : سلام عليكم / تقبل الله منا ومنكم 

هناك عدة طرق  اما عن طريق السحب والافلات او حفظ النتائج في مصفوفة او متغيرات ...
لكن انصحك بالطريقة السهلة
لما تعمل استعلام للجدول الاول : تكون قد جهزته مسبقا من وضع التصميم مع سحب وافلات للحقول على الفورم (طبعا يمكن اخفاءها)

الاضافة تكون على الجدول الثاني 2 استنادا من نتائج الحقول (dbedit....1 2 3 )

شكل عام  SQL
insert into table_name values (value1 value2 value3 ...)
value1=dbedit1.text مثلا وهكذا
value2=dbedit2.text ...

او الاضافة
table.append;
table.fieldbyname(fieldname).value:=dbedit1.text;
table.fieldbyname(fieldname).value:=dbedit2.text;
table.fieldbyname(fieldname).value:=dbedit3.text;
table.post;

قمت بمحاولة ادخال المعطيات عن طريق SQL بكتابة مايلي :

--------------------------------------------------
begin
DFM.Qadd.Close;
DFM.Qadd.SQL.Clear;
DFM.Qadd.SQL.Add('insert into S_Jour(DATE_JOURNNEE,SERIE_DU,SERIE_AU,QUITTANCE_DU,QUITTANCE_AU,') ;
DFM.Qadd.SQL.Add ('MONTANT_NUMERAIRE,MONTANT_BANCAIRE,MONTANT_CCP,APPLICATION');
DFM.Qadd.SQL.add(''''+form1.maskedit3.text+''','''+dbedit1.text+''','''+dbedit2.text+''',');
DFM.Qadd.SQL.add(' '''+dbedit3.text+''','''+dbedit4.text+''','''+dbedit5.text+''','''+dbedit6.text+''','''+dbedit7.text+''','''+dbedit21.text+'''');

DFM.Qadd.ExecSQL;
DFM.Qadd.Close;
DFM.Qadd.SQL.Clear;
DFM.Qadd.SQL.Add('select from S_Jour * order by SERIEDATE_JOURNNEE');
DFM.Qadd.Open;
end;
end;
-----------------------------------
نتج عنه الخطا التالي في المرفقات  فما هو التصحيح

(13-12-2019, 01:56 PM)Mr.DOS كتب : سلام عليكم / تقبل الله منا ومنكم 

هناك عدة طرق  اما عن طريق السحب والافلات او حفظ النتائج في مصفوفة او متغيرات ...
لكن انصحك بالطريقة السهلة
لما تعمل استعلام للجدول الاول : تكون قد جهزته مسبقا من وضع التصميم مع سحب وافلات للحقول على الفورم (طبعا يمكن اخفاءها)

الاضافة تكون على الجدول الثاني 2 استنادا من نتائج الحقول (dbedit....1 2 3 )

شكل عام  SQL
insert into table_name values (value1 value2 value3 ...)
value1=dbedit1.text مثلا وهكذا
value2=dbedit2.text ...

او الاضافة
table.append;
table.fieldbyname(fieldname).value:=dbedit1.text;
table.fieldbyname(fieldname).value:=dbedit2.text;
table.fieldbyname(fieldname).value:=dbedit3.text;
table.post;

قمت بمحاولة ادخال المعطيات عن طريق SQL بكتابة مايلي :

--------------------------------------------------
begin
DFM.Qadd.Close;
DFM.Qadd.SQL.Clear;
DFM.Qadd.SQL.Add('insert into S_Jour(DATE_JOURNNEE,SERIE_DU,SERIE_AU,QUITTANCE_DU,QUITTANCE_AU,') ;
DFM.Qadd.SQL.Add ('MONTANT_NUMERAIRE,MONTANT_BANCAIRE,MONTANT_CCP,APPLICATION');
DFM.Qadd.SQL.add(''''+form1.maskedit3.text+''','''+dbedit1.text+''','''+dbedit2.text+''',');
DFM.Qadd.SQL.add(' '''+dbedit3.text+''','''+dbedit4.text+''','''+dbedit5.text+''','''+dbedit6.text+''','''+dbedit7.text+''','''+dbedit21.text+'''');

DFM.Qadd.ExecSQL;
DFM.Qadd.Close;
DFM.Qadd.SQL.Clear;
DFM.Qadd.SQL.Add('select from S_Jour * order by SERIEDATE_JOURNNEE');
DFM.Qadd.Open;
end;
end;
-----------------------------------
نتج عنه الخطا التالي في المرفقات  فما هو التصحيح
هل من مجيب
الرد


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


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