delphi4arab منتديات دلفي للعرب
كيفية منع التكرار - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيفية منع التكرار (/showthread.php?tid=11759)



كيفية منع التكرار - tahri - 14-01-2022

السلام عليكم
كيف أمنع تكرار التسجيلات أي إذا كانت نفسها تضاف تلقائيا إلى بعضها في عمود واحد مع مجموع عددها 
أريد جمع الاسطر لها نفس القيم (نفس الرقم التسلسلي Rfrence) في DBgrid

مثلا في الصورة في المرفقات كيف أجمع سلعة tob  في عمود واحد فقط
جزاكم الله خيرا


RE: كيفية منع التكرار - أبو معاذ - 14-01-2022

وعليكم السلام .
هل تستعمل ال sql ؟
إذا كان نعم ،
استعمل Group BY .
إذا كان لا ، وضح أكثر.


RE: كيفية منع التكرار - tahri - 14-01-2022

(14-01-2022, 10:10 AM)أبو معاذ كتب : وعليكم السلام .
هل تستعمل ال sql ؟
إذا كان نعم ،
استعمل Group BY .
إذا كان لا ، وضح أكثر.

لاحظ الصورة المرفقة 
أريد جمع الاسطر لها نفس القيم (نفس الرقم التسلسلي Rfrence) في DBgrid
لا أستعمل SQL
شكرا لك


RE: كيفية منع التكرار - tahri - 15-01-2022

(14-01-2022, 10:10 AM)أبو معاذ كتب : وعليكم السلام .
هل تستعمل ال sql ؟
إذا كان نعم ،
استعمل Group BY .
إذا كان لا ، وضح أكثر.
أريد جمع الاسطر لها نفس القيم (نفس الرقم التسلسلي Rfrence) في DBgrid
كما في الصورة المرفقة


RE: كيفية منع التكرار - محمد عبد العزيز - 15-01-2022

وعليكم السلام

حتى يمكن مساعدتك اما ترفق مثال لمحاولتك أو على الأقل تضع الكود المستخدم للاضافة



RE: كيفية منع التكرار - tahri - 16-01-2022

(15-01-2022, 03:58 PM)محمد عبد العزيز كتب : وعليكم السلام

حتى يمكن مساعدتك اما ترفق مثال لمحاولتك أو على الأقل تضع الكود المستخدم للاضافة

أريد جمع الاسطر لها نفس القيم (نفس الرقم التسلسلي Rfrence) في DBgrid
لاحظ الصورة في الرد السابق


RE: كيفية منع التكرار - wadoud - 16-01-2022

السلام عليكم
عندك خلل في الكود
يبدو انك لا تستعمل المفتاح عند الإدخال
المفتاح السلعة و الكمية إذا كانت السلعة موجودة أصلا
فلكل نوع سلعة مفتاح
مثلا بطاطا 01
قرع 02
لذلك الإخوة يريدون الكود لمساعدتك
والله أعلم هذا ما فهمته من سؤالك


RE: كيفية منع التكرار - Delphi4Us - 17-01-2022

ضع فقط جملة الـ SQL المستخدمة

مثلا انت تستخدم

كود :
Select Designation, Qte, Prix from Tablename

الحل هو شئ مثل

كود :
Select Designation, sum(Qte), sum(Prix) from Tablename groub by Designation



RE: كيفية منع التكرار - tahri - 18-01-2022

(17-01-2022, 01:00 AM)Delphi4Us كتب : ضع فقط جملة الـ SQL المستخدمة

مثلا انت تستخدم

كود :
Select Designation, Qte, Prix from Tablename

الحل هو شئ مثل

كود :
Select Designation, sum(Qte), sum(Prix) from Tablename groub by Designation
if Key = #13 then
BEGIN
data.L_Ventes.Edit;
data.L_VentesRfrence.Value:=data.ArticlesRfrence.Value;
data.L_Ventes.Insert;
edit1.Text:='';
أريد التغيير على هذا الكود عند الضغظ على زر Entrée إذا كانت السلعة نفس Rfrence تجمع مع بعضها


RE: كيفية منع التكرار - Delphi4Us - 19-01-2022

إقتباس :data.L_Ventes.Edit;
data.L_VentesRfrence.Value := data.ArticlesRfrence.Value;
data.L_Ventes.Insert;
edit1.Text:='';

مشكلتك عويصة فكودك هذا لاعلاقة له بموضوع جمع النتائج وانما بتعديل واضافة البيانات
وحتى تعديل واضافة البيانات هو خاطئ 

يعني انت تتحدث عن عرض البيانات وتضع كود لاهو معروف للاضافة او التعديل
على العموم اذا كان الموضوع عرض البيانات فهو كما اشرت لك والحل بجملة الاستعلام
واذا كنت تقصد انك تريد اضافة البيانات بسجل بقاعدة البيانات فالحل اما بجملة استعلام Update بدل من Insert بحال كانت السلعة موجودة
او باستخدام الدالة For على الجدول ومقارنة اسم السلعة فلو كانت موجودة يقوم بعمل Edit واذا كانت غير موجودة يقوم بعمل Insert 
واذا كنت تريد كود جاهز فليس بدون ان ترفق اسم الجدول والحقول التي تستخدمها