01-07-22, 03:17 AM (آخر تعديل لهذه المشاركة : 01-07-22, 03:55 AM {2} بواسطة نهى علي.)
(30-06-22, 11:16 PM)سعود كتب : شاهدت الصورة لكني لا ادري اين سبب التكرار هل هو هكذا مكررة بقاعدة البيانات ام ماذا؟
التكرار اذا تم الحفظ فإنه ينزل في قاعدة البيانات
لكن هذه القائمه مربوطه بجهاز قارء باركود
وعندما ينزل الرقم الباركود فإنه تظهر معلومات المادة والسعر الخ
وبدون ان اضغط على إضافة القائمة فإنها تنزل في الكريد
اي يعني الزبون لو اشترى ٥ قطع من نوع واحد فإنها تنزل في الكريد مثل مافي الصوره المطلوب
عند تشابه الماده ونوعها يقوم البرنامج بجمعها مع اليسطر الاول بدون ان يسلسلها كما في الصوره
وشكرا لك
السلام عليكم
عليك انت تظيفي حلقة تكرارية بعد قراءة الباركود وتحديد رقم واسم الصنف من جدول المواد :
فتقوم الحلقة بقراءة كافة اسطر جدول العرض (Gridview) فاذا تشابهت مع مادة موجود يحدد السطر الموجودة فيه ويقوم بتعديل الكمية يقرأ الكمية المسجلة بعمود الكمية ويقوم باضافة رقم واحد للكمية ويسجل الكمية الجديدة بعمود الكمية بنفس السطر.
اذا لم تكن المادة مسجلة مسبقاً في جدول العرض يقم باضافة سطر جديد فيه المادة الجديدة بكمية (واحد).
(01-07-22, 03:57 AM)Taha Okla كتب : السلام عليكم
عليك انت تظيفي حلقة تكرارية بعد قراءة الباركود وتحديد رقم واسم الصنف من جدول المواد :
فتقوم الحلقة بقراءة كافة اسطر جدول العرض (Gridview) فاذا تشابهت مع مادة موجود يحدد السطر الموجودة فيه ويقوم بتعديل الكمية يقرأ الكمية المسجلة بعمود الكمية ويقوم باضافة رقم واحد للكمية ويسجل الكمية الجديدة بعمود الكمية بنفس السطر.
اذا لم تكن المادة مسجلة مسبقاً في جدول العرض يقم باضافة سطر جديد فيه المادة الجديدة بكمية (واحد).
شكرا لك
ولكن ماهو الكود الذي اضعه للتشابه وهل استخدم اداة الشرط في ذلك ارجو توضيح ذلك
على فرض أنك استخرجتي البيانات من جدول المواد من قاعدة البيانات وأصبحت جاهزة في المربعات التي فوق جدول العرض كما في الصورة
وأصبحت جاهزة للادخال لجدول العرض - فيكون زر الاضافة لجدول العرض يحتوي على الكود المناسب للتحقق ثم الاضافة --
فيكون الكود التالي هو كود مختصر للكود الذي ستضعينه بعد التعديل ليقوم هو بالاضافة .. :
أي هذا كود مختصر قومي بتعديله ليناسب برنامجك .. :
PHP كود :
Dim i As Integer
With XXXGrid1 ' اسم جدول العرض
If .Rows = 1 Then ' اذا كان عدد الاسطر بالجدول يساوي واحد أي سطر العناوين فقط نقم بإضافة سجل كامل .AddItem X0, x1, X2, X3, X4 Else i = 0 Do Until i = .Rows i = i + 1 ' رقم المادة في الليبل الخاص مشابه لرقم مادة في سطر ما بالجدول If .TextMatrix(i, 0) = labItemNo1.Caption Then ' مثلا عمود الكمية هو العمود الخامس نزيد على الكمية واحد أو الكمية الموجودة بتكست الكمية قبل الاضافة .TextMatrix(i, 4) = Val(.TextMatrix(i, 4)) + Val(txtQty1.Text) ' حقل المجموع يصبح حاصل جداء حقل الكمية بعد التعديل بحقل السعر أو التكلفة وهكذا .TextMatrix(i, 6) = Format(.TextMatrix(i, 3) * .TextMatrix(i, 4), "0.00")
Exit Do ' ثم الخروج من الحلقة بسبب العثور على الهدف وانتهاء التعديل ElseIf i = .Rows - 1 Then ' واذا انتهت الحلقة من السطر الاخير ولم تعثر على رقم مادة مشابه تقم باضافة سجل كامل .AddItem X0, x1, X2, X3, X4 Exit Do ' تأكيد الخروج من الحلقة مع العلم بأن البرنامج سيخرج منها اساساً لانتهاء البحث دون نتيجة End If Loop End If End With
01-07-22, 12:04 PM (آخر تعديل لهذه المشاركة : 01-07-22, 01:03 PM {2} بواسطة نهى علي.)
(01-07-22, 11:34 AM)Taha Okla كتب : على فرض أنك استخرجتي البيانات من جدول المواد من قاعدة البيانات وأصبحت جاهزة في المربعات التي فوق جدول العرض كما في الصورة
وأصبحت جاهزة للادخال لجدول العرض - فيكون زر الاضافة لجدول العرض يحتوي على الكود المناسب للتحقق ثم الاضافة --
فيكون الكود التالي هو كود مختصر للكود الذي ستضعينه بعد التعديل ليقوم هو بالاضافة .. :
أي هذا كود مختصر قومي بتعديله ليناسب برنامجك .. :
PHP كود :
Dim i As Integer
With XXXGrid1 ' اسم جدول العرض
If .Rows = 1 Then ' اذا كان عدد الاسطر بالجدول يساوي واحد أي سطر العناوين فقط نقم بإضافة سجل كامل .AddItem X0, x1, X2, X3, X4 Else i = 0 Do Until i = .Rows i = i + 1 ' رقم المادة في الليبل الخاص مشابه لرقم مادة في سطر ما بالجدول If .TextMatrix(i, 0) = labItemNo1.Caption Then ' مثلا عمود الكمية هو العمود الخامس نزيد على الكمية واحد أو الكمية الموجودة بتكست الكمية قبل الاضافة .TextMatrix(i, 4) = Val(.TextMatrix(i, 4)) + Val(txtQty1.Text) ' حقل المجموع يصبح حاصل جداء حقل الكمية بعد التعديل بحقل السعر أو التكلفة وهكذا .TextMatrix(i, 6) = Format(.TextMatrix(i, 3) * .TextMatrix(i, 4), "0.00")
Exit Do ' ثم الخروج من الحلقة بسبب العثور على الهدف وانتهاء التعديل ElseIf i = .Rows - 1 Then ' واذا انتهت الحلقة من السطر الاخير ولم تعثر على رقم مادة مشابه تقم باضافة سجل كامل .AddItem X0, x1, X2, X3, X4 Exit Do ' تأكيد الخروج من الحلقة مع العلم بأن البرنامج سيخرج منها اساساً لانتهاء البحث دون نتيجة End If Loop End If End With
ساقوم بتجربه واعطيك النتيجه
شكرا لك
PHP كود :
Private Sub Command1_Click() هذا الكود الموجود في زر الاضافه' CheckAll Me If ck = True Then Exit Sub End If With Grid
(01-07-22, 11:34 AM)Taha Okla كتب : على فرض أنك استخرجتي البيانات من جدول المواد من قاعدة البيانات وأصبحت جاهزة في المربعات التي فوق جدول العرض كما في الصورة
وأصبحت جاهزة للادخال لجدول العرض - فيكون زر الاضافة لجدول العرض يحتوي على الكود المناسب للتحقق ثم الاضافة --
فيكون الكود التالي هو كود مختصر للكود الذي ستضعينه بعد التعديل ليقوم هو بالاضافة .. :
أي هذا كود مختصر قومي بتعديله ليناسب برنامجك .. :
PHP كود :
Dim i As Integer
With XXXGrid1 ' اسم جدول العرض
If .Rows = 1 Then ' اذا كان عدد الاسطر بالجدول يساوي واحد أي سطر العناوين فقط نقم بإضافة سجل كامل .AddItem X0, x1, X2, X3, X4 Else i = 0 Do Until i = .Rows i = i + 1 ' رقم المادة في الليبل الخاص مشابه لرقم مادة في سطر ما بالجدول If .TextMatrix(i, 0) = labItemNo1.Caption Then ' مثلا عمود الكمية هو العمود الخامس نزيد على الكمية واحد أو الكمية الموجودة بتكست الكمية قبل الاضافة .TextMatrix(i, 4) = Val(.TextMatrix(i, 4)) + Val(txtQty1.Text) ' حقل المجموع يصبح حاصل جداء حقل الكمية بعد التعديل بحقل السعر أو التكلفة وهكذا .TextMatrix(i, 6) = Format(.TextMatrix(i, 3) * .TextMatrix(i, 4), "0.00")
Exit Do ' ثم الخروج من الحلقة بسبب العثور على الهدف وانتهاء التعديل ElseIf i = .Rows - 1 Then ' واذا انتهت الحلقة من السطر الاخير ولم تعثر على رقم مادة مشابه تقم باضافة سجل كامل .AddItem X0, x1, X2, X3, X4 Exit Do ' تأكيد الخروج من الحلقة مع العلم بأن البرنامج سيخرج منها اساساً لانتهاء البحث دون نتيجة End If Loop End If End With
لقد كتبت لك الكود الموجود في زر أضف للقائمه
ارجوا ان تدمجه مع الكود الذي كتبته لي حتى نتجنب ظهور الاخطاء