الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال بخصوص الداتا قريد فيو والتاريخ

بدأه snurh في 17 سبتمبر 2012 · 3 رد · 1,566 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لو سمحتم لدي سؤال عن data gradviwe

عندي داتا قريد فيو وفيها عدة اعمد ( الاسم ، وتاريخ البدايه ، وتاريخ النهايه ) كيف اكتب كود مرة واحدة فقط لكي يطلع الفرق بين التواريخ المختلفه ويضع نتيجه كل تاريخين مختلفين في عمود اخر

ويكتب اسم اليوم في عمود اخر هل هو satrday , sunday,....

الداتا قريد فيو تحتوي على اكثر من 1000 اسم ، واكثر من الف تاريخ للبدء ، واكثر من الف تاريخ للانتهاء

وايضا اريد حقل عندما يضع فيه المستخدم رقم يضاف الى التاريخ

اين اكتب الكود

لكي يكون شامل للداتا قريد ، اين اكتب الكود ليكون شامل للبرنامج

وبذالك تكون الداتا قريد فيو تحتوي على عمود(الاسم ، تاريخ البدء ، تاريخ الانتهاء ، الفرق بين التاريخين ، اضف رقم ليحسب الى تاريخ الانتهاء،اليوم بالميلادي )

واريد جمله استعلام عندما يحسب الفرق بين تاريخين والنتيجه لا تساوي صفر يضع الناتج ( عمود الاسم ، ورقم المعرف ) في داتا قريد فيو اخرى

وعند الضغط على طباعه تطبع الاسماء في كريستال ريبورت

اما اذا كان الفرق بين تاريخين يساوي صفر توضع الاسماء في داتا قريد فيوا اخرى ( ويضاف عمود لارسال رساله sms

واذا ممكن بعد كود الاتصال الهاتفي

وفل يفضل ان اضع التاريخ في مربع نص عادي او استخدام اداة Date Time Picker

وهل احتاج ان استخدم العلاقات مع الجداول

وشكر

ياليت تعطوني افكاركم واضافات اخرى

باسرع وقت

تم تعديل هذه المشاركة بواسطة snurh في 17 سبتمبر 2012 في 14:57

#2

لو سمحتم اريد كود الفرق بين التاريخين يشمل جميع صفوف data grid view

علما بان التواريخ موجودة داخل Date time picker

وكود الاضافه على تاريخ النهايه ويشمل data grid view باكملها

يعني اكتب الكود بس مرة وحدة

وشكرا

#3

السلام عليكم ...

تفضل اخي هذا كود حساب الفرق بين تاريخين

 public struct Age
        {
            public readonly int Years; public readonly int Months; public readonly int Days;
            public Age(int y, int m, int d)
                : this()
            {
                Years = y;
                Months = m;
                Days = d;
            }

        }

        public static Age CalculateAge(DateTime startDate, DateTime endDate)
        {
            if (startDate.Date > endDate.Date)
            {
                throw new ArgumentException("startDate cannot be higher then endDate", "startDate");
            }

            int years = endDate.Year - startDate.Year;
            int months = 0;
            int days = 0;

            // Check if the last year, was a full year.
            if (endDate < startDate.AddYears(years) && years != 0)
            {
                years--;
            }

            // Calculate the number of months.
            startDate = startDate.AddYears(years);

            if (startDate.Year == endDate.Year)
            {
                months = endDate.Month - startDate.Month;
            }
            else
            {
                months = (12 - startDate.Month) + endDate.Month;
            }

            // Check if last month was a complete month.
            if (endDate < startDate.AddMonths(months) && months != 0)
            {
                months--;
            }

            // Calculate the number of days.
            startDate = startDate.AddMonths(months);

            days = (endDate - startDate).Days;

            return new Age(years, months, days);
        }

فقط استدعي الدالة

CalculateAge(dateTime2, dateTime1).Years

او

CalculateAge(dateTime2, dateTime1).Months

او

CalculateAge(dateTime2, dateTime1.Days

او

جميعهم

كما تشاء

اتمني ان اكون ساعدتك

#4

شكرا جزيلا للاخ mey_2010 على الكود

ولكني اعمل على لغه الفيجوال بيسك دوت نت وليس السي شارب

واريد ان اوضح اني اعمل على مشروع ضخم وليس مجرد حساب العمر حيث ان البرنامج يجب ان يحتوي على حلقه تكرار

لاني اريد ان يحسب الفرق بين تاريخين ويضع النتيجه في حقل واليوم التالي عندما يحسب الفرق بين تاريخين يطرح 1 و هكذا

وبعد الطرح يصفي الاسماء الموجودة في الداتا جريد فيو

الى ان يصبح ناتج الطرح صفر لا يعرض اسم العميل الذي الفرق بين تاريخيه صفر

فقط يعرض الاسماء التي الفرق بين تاريخيها اكبر او يساوي 1

احتاج الى حلقه for next step -1

ارجو المساعدة ممن يستطيع

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…