تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] هل يمكن عمل مجاميع رئيسية وفرعية داخل داتا جريد فيو
#1
هل يمكن عمل مجاميع رئيسية وفرعية داخل داتا جريد فيو
الرد
تم الشكر بواسطة:
#2
انت تقصد قائمة الدخل والميزانية
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد
تم الشكر بواسطة:
#3
نعم  وميزان المراجعة
الرد
تم الشكر بواسطة:
#4
اذا حدا بيربمجهم ويعرضهم بيكون جزاه الله خيرا
الرد
تم الشكر بواسطة:
#5
لدي طريقة من خلال ستورد بروسيدجر
لكن خطا فى الارصدة الختامية


   
الرد
تم الشكر بواسطة:
#6
سلام عليكم
بافتراض عنك جدولين
الاول : اسمه ACCOOUNT لاسماء الحسابات (البنوك الخزينة عملاء الخ ..............)
الثاني : اسمه DATA وهو لاثبات القيود اليومية (او العمليات على الحساب)
PHP كود :
CREATE FUNCTION OK()
RETURNS TABLE
AS
RETURN (
 
      WITH DT AS(
     
     SELECT 
             ACCOUNT
.Name --  اسم الحساب من جدول ACCOUNT
             ACCOUNT
.ac_type --نوع الحساب(مدين او دائن)
             
Sum(DATA.M_T) AS M --جمع قيمة المدين من جدول DATA
             Sum
(DATA.D_T) AS D   --جمع قيمة الدائن من جدول DATA
         FROM ACCOUNT
DATA_T   --الجدولين
         WHERE 
(((ACCOUNT.Name)=DATA.ACCOUNT_T))  --شرط وجود اسم الحساب في جدولين 
         GROUP BY ACCOUNT
.NameACCOUNT.ac_type
            
               
)
             
  SELECT 
                    DT
.NAME,
                 
DT.AC_TYPE,
             
    Sum(M) AS M,
             
    Sum(D) AS D,
                 (CASE 
WHEN DT.AC_TYPE ='مدين' THEN  Sum([M]-[D])  ELSE Sum([D]-[M]) END)AS BALANCE
              FROM DT 
              GROUP BY DT
.NAME,DT.AC_TYPE

)



SELECT FROM OK()--استدعاء FUNCTION 
طبعا ده الشكل البدائي للقوائم انت مهمتك انك تفهم الكود وبعد كده عدل زي ما انت عاوز 
يعني مثلا علشان تعمل ميزان المراجعة  او عاوز تفصل بين مجموع المدين في عمود والدائن كذالك هضيف عمدان اخرى هي شبيها بنفس الاكواد دي مش هتخرج عنها المهم انا زي ما قلتلك افهم الكود وانت هتوصل الى تريده
وطلما ليك فكرة عن البرامج المحاسبة وكتابة الكود بال SQL هتعرف الباقي
ودي صورة للنتائج عندي 
ملاحظة : طبعا المثال عملته على عجالة وارقمه للتجربة فقط قد تكون هناك ارقام غير واقعية مثلا الخزينة بالسالب وغير ذلك لكن الترصيد صحيح
   
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد
تم الشكر بواسطة:
#7
اسف 
مع التعديل null ب 0 في عمودين المدين والدائن في الكود لتظهر باقي الارصدة
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد
تم الشكر بواسطة:
#8
معنى كلامي انك هتستخدم دالة isnull
علشان تكون هكذا
انا غيرت m و d الى Debit وCredit
PHP كود :
(CASE WHEN DT.AC_TYPE ='مدين' THEN  Sum(ISNULL([Debit],0)-ISNULL([Credit],0))  ELSE Sum(ISNULL([Credit],0)-ISNULL([Debit],0)) END)AS Balance

اما لو عاوز تعمل ميزان مراجعة بالمجاميع والارصدة مثلا هتقسم الكود السابق على اثين هكذا

PHP كود :
                (CASE WHEN DT.AC_TYPE ='مدين' THEN  Sum(ISNULL([Debit],0)-ISNULL([Credit],0)) END)AS Debit_Balance,
                 (CASE 
WHEN DT.AC_TYPE ='دائن' THEN  Sum(ISNULL([Credit],0)-ISNULL([Debit],0)) END)AS Credit_Balance 
علشان يكون الشكل الميزان كده
   
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد
تم الشكر بواسطة:
#9
هو دا الشغل

كيف اظهر الحسابات الرئيسية واعمل ليها مجاميع
الرد
تم الشكر بواسطة:
#10
عادي زي ما انت عامل في بروسيجر
على فكرة دي function عادي ممكن تضعها في البروسيجر
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد
تم الشكر بواسطة:



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


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