منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
للخبراء اطلب منكم المساعدة في برنامج مصغر خاص بحساب عمولات - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : للخبراء اطلب منكم المساعدة في برنامج مصغر خاص بحساب عمولات (/showthread.php?tid=13126)

الصفحات: 1 2 3


للخبراء اطلب منكم المساعدة في برنامج مصغر خاص بحساب عمولات - moh61 - 04-09-15

للخبراء اطلب منكم المساعدة في برنامج مصغر خاص بحساب عمولات  ...... على سبيل المثال التالي :

اذا كانت الارقام واقعة مابين ( 1الى 10 ) تحتسب = 10
والارقام الواقعه مابين (11 الى 20 ) تحتسب = 20
والارقام الواقعه مابين ( 21 الى 30 ) تحتسب = 30

المعادلة او الكود كالتالي :

 ( 10>=  :  1=< ) = 10
( 20>=  :  11=< ) = 20
( 30>=  :  21=< ) = 30

لنفرض مثلا لدي بالمثال التالي المرفق بملف البرنامج انه يوجد لدي القيم التاليه داخل عمود بالاسم : number
5
15
25


نجد ان القيمة 5 واقعه مابين ( 1 الى 10 ) المفترض تحسب 10
نجد ان القيمة 15 واقعه مابين ( 11 الى 20 ) المفترض تحسب 20
نجد ان القيمة 25 واقعه مابين ( 21 الى 30 ) المفترض تحسب 30

نجد ان النتيجه او المخرج كالتالي ( 10 + 20 + 30 ) = 60
اي المفترض المجموع الكلي يساوي 60 .

المطلوب عرض المجموع الكلي للقيم داخل العمود number على حسب الشروط السابقه المستحقه  وعرض مجموعها الكلي  في العمود او الحقل total الموجود داخل DataGridView2 مع رقم الكود الخاص بالمجموع المستحق

ارجو منكم المساعدة وجزيتو خيراا ووفقكم الله ...المخرجات المطلوبة موجودة بالصورة مع الشرح وتم ارفاق المثال للتعديل والفائدة ولكم كل الشكر .


RE: للخبراء اطلب منكم المساعدة في برنامج مصغر خاص بحساب عمولات - أبو عمر - 04-09-15

موضوع التواريخ ضبط معك؟


RE: للخبراء اطلب منكم المساعدة في برنامج مصغر خاص بحساب عمولات - moh61 - 04-09-15

نعم ظبط معي ولله الحمد ........ باقي حل المثال اعلاه ياريت تقدر تفيدني الله يعافيك ويسلمك


RE: للخبراء اطلب منكم المساعدة في برنامج مصغر خاص بحساب عمولات - الطالب - 04-09-15

سلام


كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    DataGridView1.Columns.Clear()
    Using dt As New DataTable
        Dim c = New OleDb.OleDbDataAdapter("SELECT [code],SUM((FIX([number]/10)+1)*10) AS [total] FROM [Table1] GROUP BY [code]", My.Settings.Database2ConnectionString).Fill(dt)
        DataGridView1.DataSource = dt
    End Using
End Sub


موفقين


RE: للخبراء اطلب منكم المساعدة في برنامج مصغر خاص بحساب عمولات - moh61 - 04-09-15

الاخ   khodor1985     المثال الذي ارفقته انت يعمل على جمع القيم داخل الحقل number  في الأخر طلعت معي المخرج والناتج 45 وهي مجموع القيم .... وهذا ماهو الشيئ المطلوب من المثال والمفترض ان يكون الناتج 60 وليس 45  وجزاك الله خير لاحظ للصورة اخي بعد تنفيذ برنامجك


RE: للخبراء اطلب منكم المساعدة في برنامج مصغر خاص بحساب عمولات - moh61 - 04-09-15

اخي الطالب كودك صحيح وقام بعمليه جميع على الوجه المطلوب بس المساعدة الابغاها ماهو بالشكل هاذا  ابغاه على كود او تشتغلها على جمل ال if condition  او  Select Case ..... اي شي بالشكل  او طريقة اقرب لي هاذا الكود  ......... يااخواني المثال مبسط في الشكل التالي بأبسط مما تتخيلون بس يكون في شكل كود عشان اقدر اعتمد على التعديل بعدين  ....................

عشان الصورة توضح اكثر دعنا نغير القيم القديمة ونحاول نشتغل على المثال بقيم جديدة

هاذه القيم القديمة

(الارقام من 1الى 10 ) تحسب لها 10
(الارقام من 11 الى 20) تحسب لها 20
(الارقام من 21 الى 30 ) تحسب لها 30

ياريت نشتغل المثال ونحاول فيه بالقيم الجديدة هااااذي

(الارقام من 1الى 10 ) تحسب لها 500
(الارقام من 11 الى 20) تحسب لها 700
(الارقام من 21 الى 30 ) تحسب لها 1000

يعني المفترض الحين الناتج او ال total  يطلع معي ((((( 2200 )))))) ....

بحيث اقدر استطيع التغير في الكود مستقبلا كتالي :

(الارقام من 21 الى 30 ) تحسب لها 30 ؟؟؟؟؟؟؟؟؟؟

بدلا عن ( 30 )اسويها (500) ..... يعني المفترض تكون في شكل كود قابل للتعديل علما بأن الحقول داخل الحقل nunber  ستكون متغيرة

او  مثلا ابغى اضيف شرط جديد زي كذا

(الارقام من 30 الى 100 ) تحسب لها 1000

 لسا فس شوية اضافات والشيئ الانت  سويته اكثر من  رائع بس مارح يعتمد على التعديل او الاضافه مستقبلا  .................. وافضل الكود مايكون مربوط دائما بقاعدة البيانات يعتمد فقط على القيم الموجودة داخل DataGridView يعين ياريت ما تتعود تربط الكود دائما بجمل الاتصال بقاعدة البيانات .... خلي يحسب وياخد القيم من DataGRidview  وجزاك الله خير ........................... نرجو من الجميع المشاركة والمحاولة للوصول الى المخرج المطلوب وجزاكم الله كل خير


سوف نشتغل المثال على القيم الجديدة هاذي عشان توضح الصورة  اكثر
(الارقام من 1الى 10 ) تحسب لها 500
(الارقام من 11 الى 20) تحسب لها 700
(الارقام من 21 الى 30 ) تحسب لها 1000

المخرج او المجموع يكون = 2200 .  

تم ارفاق المثال مرة اخرى للتعديل عليه مجددا

اتمنى الصورة تكون وضحت ......................................


RE: للخبراء اطلب منكم المساعدة في برنامج مصغر خاص بحساب عمولات - أبو عمر - 05-09-15

سؤال بريء بعد جهد الاخوة في هذا الموضوع
انظر للصورة


هذا اللي تبغاه؟


RE: للخبراء اطلب منكم المساعدة في برنامج مصغر خاص بحساب عمولات - الطالب - 05-09-15

سلام


مع امكانيه تغيير جميع الارقام
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    DataGridView1.Columns.Clear()
    Dim dt As New DataTable
    Dim sql As String = "SELECT [code], SUM( SWITCH(" &
                        "VAL([number])>=" & 1 & " AND VAL([number])<=" & 10 & ", " & 500 & "," &
                        "VAL([number])>=" & 11 & " AND VAL([number])<=" & 20 & "," & 700 & "," &
                        "VAL([number])>=" & 21 & " and VAL([number])<=" & 30 & ", " & 1000 &
                        ")) AS [total] FROM [Table1] GROUP BY [code]"
    Dim c = New OleDb.OleDbDataAdapter(Sql, My.Settings.Database2ConnectionString).Fill(dt)
    DataGridView1.DataSource = dt
End Sub


موفقين


RE: للخبراء اطلب منكم المساعدة في برنامج مصغر خاص بحساب عمولات - moh61 - 05-09-15

نعم هذا الكود المطلوب بالصورة الصحيحه على حسب فهمي الله يوفقك الأخ : الطالب وموفق ان شاء الله ... شغلك جدا رائع بارك الله فيك


RE: للخبراء اطلب منكم المساعدة في برنامج مصغر خاص بحساب عمولات - الطالب - 05-09-15

سلام


استخدام تقنيت Linq هو الاسلوب الصحيح والحديث،
وانتم اخي خدور ما شاء الله تتقنوها بشكل رائع ومبسط ليس فيها تعقيد كما افعلها،
بارك الله فيكم والى الامام دائما.


موفقين