السلام عليكم
لدي برنامج به 10 جداول وهذه الجداول لها نفس اسماء الحقول كانه جدول واحد مكرر ولها حقل رئيسي متمثل في تاريخ اليوم
كل جدول من هذه الجداول تسجل به ادخال العمليات يوميا على حسب العمل كما يمكن ان لا تسجل به ليوم او عدة ايام
حث تتم عملية يوقيف حسابات جميع الجداول بتاريخ كل من 26 من كل شهر وبعدها تجمع مجاميع كل الحقل المتشابه للجداول ال 10 لتعرض النتائج على الشكل التالي في المرفقات
فما هي صيغة SQL اللازمة لذلك علما ان قاعدة المعطيات المستعملة هي Firebird
اتمنا ان اجد الاجابة وشكرا
المشكل الاهم هو ايجاد كيفية عرض نتائج 10 جداول في QuickRep واحدة وما هي الاجراءات اللازومة لذلك
f1.jpg (الحجم : 173.16 ك ب / التحميلات : 33)
f1.jpg (الحجم : 173.16 ك ب / التحميلات : 33)
(12-12-2019, 10:27 PM)Mr.DOS كتب : السلام عليكم
استبعد فكرة 10 جداول متشابهة ؟ انصحك بالتفكير في تصميم قاعدة البيانات من جديد !
يمكن اختصارها الى جدولين فقط !
كيف يتم ذلك اعطني فكرة لاني في امس الحاجة لهذه الفكرة
طيب
الجدول 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): تقوم بإضافته للجدول الثاني
الفاشلون نوعان : الأول : فكر ولم يفعل .. والآخر: فعل ولم يفكر
(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): تقوم بإضافته للجدول الثاني
شكرا اخي وجاري التجريب
هل ممكن استعلام اضافة النتاىج للجدول الثاني
هناك عدة طرق اما عن طريق السحب والافلات او حفظ النتائج في مصفوفة او متغيرات ...
لكن انصحك بالطريقة السهلة
لما تعمل استعلام للجدول الاول : تكون قد جهزته مسبقا من وضع التصميم مع سحب وافلات للحقول على الفورم (طبعا يمكن اخفاءها)
الاضافة تكون على الجدول الثاني 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;
الفاشلون نوعان : الأول : فكر ولم يفعل .. والآخر: فعل ولم يفكر
16-12-2019, 04:32 PM (آخر تعديل لهذه المشاركة: 16-12-2019, 04:59 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 (آخر تعديل لهذه المشاركة: 21-12-2019, 09:20 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;
-----------------------------------
نتج عنه الخطا التالي في المرفقات فما هو التصحيح
(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;
-----------------------------------
نتج عنه الخطا التالي في المرفقات فما هو التصحيح
هل من مجيب