تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
اضافه عدد من الشهور على تاريخ محدد
#5
(04-01-21, 04:14 AM)ابراهيم ايبو كتب : السلام عليكم ورحمة الله وبركاته
اخي الكريم اخر 
اولا يجب ان تتم عملية اضافة الشهور اثناء تعبئة مربعات النصوص الخاصة باضافة سجل جديد وعند اختيار تاريخ معين ثم اضافة عدد من الشهور في مربع نص عدد الشهور المضافة وبعد الانتقال الى التاريخ الجديد تتم العملية الحسابية
بعدها ستكون جملة الحفظ بحيث تأخذ بياناتها من مربعات الادخال 

معلومة ونصيحة : لاتجرى عمليات حسابية في جمل الانسرت او الابدايت
بل ان جملة الانسرت ستأخذ القيم جاهزة بعد العمليات الحسابية خارج كود الانسرت(الحفظ او التعديل)
هذا في حال انك تدخل البيانات عبر مربعات ادخال
عد الى برنامجك وغير القيم بحيث تستبدل حقول الداتاغرايد بمربعات الادخال
اما ان كان الادخال من الداتا غرايد فعليك استخدام اي حدث يناسبك عند الانتقال من خلية الى اخرى لعمل الحساب
والحذث التالي هو المناسب  dataGridView1_CellValidated اي ان العملية الحسابية تتم في الداتاتا غرايد ثم ستقوم بجملة الحفظ المعتادة لديك بشكل مستقل
اليك الكود 

كود :
private void dataGridView1_CellValidated(object sender, DataGridViewCellEventArgs e)
       {
         
            DateTime DD;
           int VV;
           DD = Convert.ToDateTime(dataGridView1.CurrentRow.Cells[0].Value);

           if (dataGridView1.CurrentRow.Cells[1].Value != null)
           {
               VV = int.Parse(dataGridView1.CurrentRow.Cells[1].Value.ToString());
               dataGridView1.CurrentRow.Cells[2].Value = DD.AddMonths(VV).ToString("dd/MM/yyyy");
           }
       }
اولا بشكر حضرتك على مجهودك ومحاوله مساعدتى
انا بالفعل الاضافه بتم عن طريق (dataGridView) وليس مربعات نصوص 
حولت اعمل الكود ولكن يظهر خطأ فى هذا السطر تحديدا بيضع خط احمر اسفل (VV)
                ("dataGridView1.CurrentRow.Cells[2].Value = DD.AddMonths(VV).ToString("dd/MM/yyyy");
ولذلك اقتصرت الطريق وقمت بعمل فيو داخل السيكول سيرفر ونفذ المطلوب كما اريد ولكن وجهتنى مشكله اتمنى القي حل ليها
مستخدم فيه داله (iif) واريد اضافتها اكتر من مره ولم افلح مرفق ككود الفيو داخل السيكول سيرفر

كود :
                 iif((dbo.TB_Penalt.Nam = 'خصم'), CONVERT(decimal(18, 2), SUM(dbo.View_Total_Statement.Total / dbo.TB_Penalty.Number_Day_Month * dbo.TB_Penalty.Number_Days)), 

                 iif((dbo.TB_Penalt.Nam = 'انذار'), CONVERT(decimal(18, 2), SUM(dbo.View_Total_Statement.Total * 85/ 100)),CONVERT(decimal(18, 2), iif((dbo.TB_Penalt.Nam = 'جزاء'), dbo.View_C_Bdalat.Total)) AS Total_Discount,
محتاج اقول للكود اذا كان حقل Nam يساوى خصم نفذ عمليه حسابيه واذا كان انذار نفذ عمليه حسابيه اخرى واذا كان جزاء نفذ عمليه مختلفه عن السابقين واذا كان عير ذلك ينفذ عمليه اخرى
والناتج يضعه فى حقل ويسميه (Total_Discount)  
ولكن بتظهر خطأ  
مع ان الكود بيعمل بشرط واحد فقط لكن عند اضافه اكتر من شرط بيظهر خطأ
لو امكن تعدل الكود كما اريد وجزاك الله خيرا
الكود كامل هو



كود :
SELECT        dbo.TB_Employ.Emp_ID, dbo.TB_Employ.Emp_Nam, dbo.TB_Penalty.ID AS Nam_ID, dbo.TB_Penalty.Number_Days, dbo.TB_Penalty.Number_Month, dbo.TB_Penalty.Start,
                        DATEADD(Month, dbo.TB_Penalty.Number_Month, dbo.TB_Penalty.Start) AS Fin, dbo.View_Total_Statement.Total AS Totl,

                iif((dbo.TB_Penalt.Nam = 'خصم'), CONVERT(decimal(18, 2), SUM(dbo.View_Total_Statement.Total / dbo.TB_Penalty.Number_Day_Month * dbo.TB_Penalty.Number_Days)),
                iif((dbo.TB_Penalt.Nam = 'انذار'), CONVERT(decimal(18, 2), SUM(dbo.View_Total_Statement.Total * 85/ 100)),
                iif((dbo.TB_Penalt.Nam = 'جزاء'), CONVERT(decimal(18, 2), dbo.View_C_Bdalat.Total),CONVERT(decimal(18, 2), dbo.View_Total_Statement.Total)) AS Total_Discount,

                   dbo.TB_Penalty.Number_Day_Month,
                        dbo.TB_Penalt.Nam
FROM            dbo.View_C_Bdalat RIGHT OUTER JOIN
                        dbo.TB_Penalt INNER JOIN
                        dbo.TB_Penalty ON dbo.TB_Penalt.ID = dbo.TB_Penalty.Nam ON dbo.View_C_Bdalat.Bblat_Nam = dbo.TB_Penalt.Nam AND
                        dbo.View_C_Bdalat.Emp_ID = dbo.TB_Penalty.Emp_ID LEFT OUTER JOIN
                        dbo.TB_Salarie INNER JOIN
                        dbo.TB_Employ INNER JOIN
                        dbo.View_Total_Statement ON dbo.TB_Employ.Emp_ID = dbo.View_Total_Statement.Emp_ID ON dbo.TB_Salarie.Emp_ID = dbo.TB_Employ.Emp_ID ON
                        dbo.TB_Penalty.Emp_ID = dbo.TB_Employ.Emp_ID
GROUP BY dbo.TB_Employ.Emp_ID, dbo.TB_Employ.Emp_Nam, dbo.TB_Penalty.ID, dbo.TB_Penalty.Start, dbo.TB_Penalty.Number_Days, dbo.TB_Penalty.Number_Month,
                        dbo.TB_Penalty.Number_Day_Month, dbo.TB_Penalt.Nam, dbo.View_C_Bdalat.Total, dbo.View_Total_Statement.Total
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: اضافه عدد من الشهور على تاريخ محدد - بواسطة amonem - 07-01-21, 01:46 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  عرض التواريخ الاقل من تاريخ اليوم الحالى mazentq 1 1,281 25-02-22, 11:27 PM
آخر رد: ابراهيم ايبو
  اضافه صوره remonmary 1 1,502 21-02-20, 04:28 PM
آخر رد: asemshahen5
  [سؤال] توقيت يعمل كل 10 دقائق أو وقت محدد timequran 0 1,358 29-01-20, 02:28 PM
آخر رد: timequran
  استعلام بشرط محدد issamsaidd 9 3,645 20-10-19, 02:22 PM
آخر رد: issamsaidd
  عدد الايام بين تاريخ اليوم الحالي وتاريخ محدد hglogtd 9 3,147 23-09-19, 08:57 PM
آخر رد: ابراهيم ايبو
  [C#.NET] اضافه البيانات والتعديل عليها من خلال الداتا فيو مباشرا amonem 7 4,437 09-07-19, 10:01 AM
آخر رد: amonem
  اضافه البيانات والتعديل عليها من خلال الداتا فيو مباشرا سي شارب amonem 10 4,911 08-07-19, 11:17 PM
آخر رد: amonem
  [C#.NET] بحاجة ماسة الى اضافة فورم جديدة تضم اضافة أنواع كروت التشريج و سعر الشراء مع تاريخ ال aloush 7 3,217 09-08-18, 01:36 AM
آخر رد: aloush
  حذف بيانات الجدول كامل بعد وقت محدد Marwan9990 1 1,873 20-04-18, 04:59 PM
آخر رد: محمود بكرى
  اضافه ايقونات داخل الفورم adelzorrolight 1 3,709 13-01-18, 12:12 AM
آخر رد: طالب برمجة

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


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