تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيفية جمع الكمية وحذف السطور المكررة فى Msflexgrid ؟
#1
السلام عليكم ورحمة الله وبركاته

كيف حالكم ياشباب بارك الله فيكم

انا لدى بيانات فى Msflexgrid بالشكل التالى 

الاسم  -  الكمية

هارد           1
رامة            1
رامة            1
رامة            2
بوردة          2
بوردة          3
ماوس         1
ماوس         1
ماوس         3
كيبورد         1
بروسيسور  1

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

الاسم  -  الكمية
هارد             1
رامة              4
بوردة             5
ماوس            5
كيبورد            1
بروسيسور     1

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

وشكرا لكم وبارك الله فيكم


الملفات المرفقة
.rar   جمع الكميات.rar (الحجم : 1.73 ك ب / التحميلات : 116)
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم ورحمة الله وبركاته

الحمد لله والصلاة والسلام على رسول الله صلى الله علية وسلم

بعد البحث الحمد لله وجدت كود يقوم بحذف السطور المكررة

اضع الكود ليستفاد الجميع

كود :
   Dim lCounter     As Long

   Dim lCounter2    As Long

   Dim lTemp        As Long

   Dim lAccumulator As Long

   lTemp = MSFlexGrid1.Rows - 1
   lAccumulator = 0

   For lCounter = 1 To lTemp
       For lCounter2 = lCounter + 1 To lTemp

           ' now compare every item to current item from main loop
           If MSFlexGrid1.TextMatrix(lCounter, 0) = MSFlexGrid1.TextMatrix(lCounter2 - lAccumulator, 0) Then
               MSFlexGrid1.RemoveItem (lCounter2 - lAccumulator)
               lTemp = lTemp - 1
               lAccumulator = lAccumulator + 1

           End If

       Next lCounter2

       lAccumulator = 0
   Next lCounter

الان ينقصنى جمع الكميات اذا توصلت اليها سوف اضعها حتى يستفاد الجميع

شكرا لكم وبارك الله فيكم جميعا
الرد }}}
تم الشكر بواسطة: awidan76
#3
وعليك السلام ورحمة الله وبركاته , أهلا أخي الكريم , هذا كود الزر كامل والذي يقوم بحذف التكرار والجمع :

PHP كود :
Private Sub Command1_Click()
On Error Resume NextErr.Clear

Dim lCounter     
As Long
Dim lCounter2    
As Long
Dim lTemp        
As Long
Dim lAccumulator 
As Long
Dim QtyTotal 
As Long

lTemp 
MSFlexGrid1.Rows 1
lAccumulator 
0

For lCounter 1 To lTemp
    
    QtyTotal 
Val(Trim$(MSFlexGrid1.TextMatrix(lCounter1)))
    
    For 
lCounter2 lCounter 1 To lTemp

        
'now compare every item to current item from main loop
        If MSFlexGrid1.TextMatrix(lCounter, 0) = MSFlexGrid1.TextMatrix(lCounter2 - lAccumulator, 0) Then
           QtyTotal = QtyTotal + Val(Trim$(MSFlexGrid1.TextMatrix(lCounter2 - lAccumulator, 1)))
           MSFlexGrid1.RemoveItem (lCounter2 - lAccumulator)
           MSFlexGrid1.TextMatrix(lCounter, 1) = QtyTotal
           lTemp = lTemp - 1
           lAccumulator = lAccumulator + 1
        End If

    Next lCounter2

    lAccumulator = 0
       
Next lCounter

End Sub 
الرد }}}
#4
(01-07-16, 10:17 AM)Ahmed_Mansoor كتب : وعليك السلام ورحمة الله وبركاته , أهلا أخي الكريم , هذا كود الزر كامل والذي يقوم بحذف التكرار والجمع :

PHP كود :
Private Sub Command1_Click()
On Error Resume NextErr.Clear

Dim lCounter     
As Long
Dim lCounter2    As Long
Dim lTemp        As Long
Dim lAccumulator 
As Long
Dim QtyTotal 
As Long

lTemp 
MSFlexGrid1.Rows 1
lAccumulator 
0

For lCounter 1 To lTemp
    
    QtyTotal 
Val(Trim$(MSFlexGrid1.TextMatrix(lCounter1)))
 
   
    For lCounter2 
lCounter 1 To lTemp

        
'now compare every item to current item from main loop
        If MSFlexGrid1.TextMatrix(lCounter, 0) = MSFlexGrid1.TextMatrix(lCounter2 - lAccumulator, 0) Then
           QtyTotal = QtyTotal + Val(Trim$(MSFlexGrid1.TextMatrix(lCounter2 - lAccumulator, 1)))
           MSFlexGrid1.RemoveItem (lCounter2 - lAccumulator)
           MSFlexGrid1.TextMatrix(lCounter, 1) = QtyTotal
           lTemp = lTemp - 1
           lAccumulator = lAccumulator + 1
        End If

    Next lCounter2

    lAccumulator = 0
       
Next lCounter

End Sub 

اخى احمد منصور بارك الله فيك وجزاك الله كل خير

ماشاء الله تبارك الله اسال الله العلى العظيم ان يرزقك العلم الكثير وان يدخلك الجنة اللهم امين
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy , Ahmed_Mansoor , awidan76 , هيثم حسين
#5
يا جماعة الخير لو اردنا فقط اعطاء لون للاسطر المكرره دون حدف هل هذا ممكن وجزاكم الله خير
الرد }}}
تم الشكر بواسطة: awidan76


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [vb6.0] أريد حاصل ضرب عمودين السعر و الكمية للحصول على الإجمالي في داتا ريبورت - هل من إجابة؟ hamada salah90 7 1,000 26-03-23, 03:05 PM
آخر رد: sanyor77
  [سؤال] كيفية استيراد ملف اكسل الى قاعدة بيانات اكسس في فيجوال 6 sher 14 8,480 14-06-22, 04:01 PM
آخر رد: sher
  [vb6.0] مرفق مشروع يظهر بيانات MSFLEXGRID ويصدرة للوورد والاكسيل king2512010 10 7,725 11-03-22, 04:19 PM
آخر رد: Taha Okla
  [vb6.0] كيفية قراءة الباركود على مكينات الكاشيير والمخازن باستعمال خط 3OF9_NEW hamada salah90 1 1,043 28-05-21, 02:48 AM
آخر رد: ahmedabdelaliem
Lightbulb [سؤال] كيفية إيجاد (رقم معين) بعد عدة فواصل محددة أبو خالد الشكري 2 1,529 04-02-21, 02:23 AM
آخر رد: أبو خالد الشكري
  كيفية اضافة خواص لاداة UserControl ؟ gedo 1 1,977 18-09-20, 06:46 PM
آخر رد: SoftWare Haker
  كيفية ارسال معطيات الداتاكريد الى الاكسيل lkjnfg 0 1,200 25-08-20, 10:34 PM
آخر رد: lkjnfg
  تغيير كود استخدام اداة Msflexgrid الى Listview hannileo 6 2,632 30-10-19, 09:01 AM
آخر رد: Ahmed_Mansoor
  [سؤال] استفسار كيفية الدمج بين اكثر من جدول NOOOR 4 3,876 13-07-19, 03:14 AM
آخر رد: gadr
  [vb6.0] كيفية اختيار حقول معينة من جدول معين ووضعها في الفلكس قريد من خلال تحكم المستخدم في ا mustafa mohamed 17 6,474 31-10-18, 12:54 AM
آخر رد: ابن دوعن

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


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