تقييم الموضوع :
  • 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 ك ب / التحميلات : 23)
الرد }}}}
تم الشكر بواسطة:
#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

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

شكرا لكم وبارك الله فيكم جميعا
الرد }}}}
تم الشكر بواسطة:
#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 
الرد }}}}
تم الشكر بواسطة: عبد العزيز البسكري , Amir_alzubidy , gedo
#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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] استفسار كيفية الدمج بين اكثر من جدول NOOOR 2 83 26-11-16, 01:17 AM
آخر رد: NOOOR
  [سؤال] كيف نقوم بالتعديل على خلية داخل msflexgrid ابن دوعن 2 79 19-11-16, 01:04 PM
آخر رد: ابن دوعن
  كيفية اضافة صورة فى قاعدة البيانات ووضعها فى msflexgrid ؟ gedo 7 248 02-09-16, 04:36 PM
آخر رد: gedo
  كيفية تحديث بيانات جدول داخل قاعدة بيانات SQL Server عن طريق الإنترنت engabuhema 1 152 31-07-16, 01:34 PM
آخر رد: ahmedabdelaliem
  كيف يمكن البحث فى MsflexGrid ؟ gedo 2 222 12-06-16, 08:40 PM
آخر رد: gedo
  سؤال عن كيفية الاتصال بالهاتف المنزلى ahmed_egypt 3 190 28-05-16, 10:50 PM
آخر رد: ahmed_egypt
  طلب كيفية التحكم في الارقام tighrmte 2 254 12-05-16, 09:32 PM
آخر رد: اسلام الكبابى
Video كيفية التصوير من الكاميرة وحفظ بملف فيديو ياسر عبد الكريم 8 1,134 13-04-16, 11:17 AM
آخر رد: MicroDoha
  [vb6.0] سؤال لخبراء المنتدى العظماء : كيفية حماية حقوق ملكيتك للبرنامج التنفيذي hamada salah90 7 502 13-04-16, 10:57 AM
آخر رد: MicroDoha
  [vb6.0] طلب :كيفية جعل البرنامج يظهر للمستخدم عندما يقلع الكمبيوتر( العرض الصحيح للمشكلة) hamada salah90 4 383 13-04-16, 10:29 AM
آخر رد: MicroDoha

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


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