![]() |
|
حذف الاسطرالمكررة في جدول - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (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=20606) الصفحات:
1
2
|
RE: حذف الاسطرالمكررة في جدول - محمود بكرى - 04-06-17 (04-06-17, 01:34 AM)rabeh.ram كتب : رغم اني ساحتاج بعض الوقت لفهم الكود الحل كان في الصميم شكرا لمجهودك الرائع كما ارجو ان تضع لنا شرح مصور للاكواد الموجودة و هذا عندما تكون متفرغاخي الغالي رابح هذا الحل لم يعجبنى كثيرا ولاكن هو المتاح فى مخيلتي وهو مكون من 3 اجزاء 1- التعامل مع قاعدة البيانات من خلال دالة لجلب البيانات واجراء للعمليات على القاعدة وهو دائما اسلوب اتبعه عند تصميم طبقة (كلاس )للاتصال اسميه دائما data access lyear 2- لقد استفدت من خاصية group by التجميع حسب حقول معينة فى عمل تجميع للسطور حسب الحقول جميعها وذلك لان التكرار هنا شامل الصف كله فان التجميع حسب كل الحقول سوف ياتى لنا بسطر واحد من كل تكرار 3- قد وضعت هذا الاستعلام فى الوضع المنفصل داخل datatable جدول مؤقت (بمعني لدى فى الذاكرة جدول به المطلوب (صفوف غير مكررة) من خلال الادبتر 4- حذفت جميع البيانات من الجدول الاصلى من خلال الاجراء senddata وجملة الاستعلام delete * from -- اخى وهذه النقطة التى تجعلنى غير راضي عن الحل فهى تعرض البيانات فى خطر اذا انقطع التيار (كنت اتمني ان اعمل تحديث للجدول من الداتا تيبل datatable ولكنه لم ينفع معي ) فلم يكن امامي غير ان احذف الجدول لتجهيزه للبيانات بعد المعالجة 5- عملت تكرار بعدد صفوف الداتا تيبل datatable ياخد سطر سطر منها ويضيفه فى الجدول وكل ده من خلال الاجراء senddata مع رقم الصف اتمني ان اكون وضحت وصح فطورك اخي الجزائري رابح
RE: حذف الاسطرالمكررة في جدول - rabeh.ram - 04-06-17 تعقيب صغير اخي بعد ان ظهر لي ان الاشكال قد حل في الاول تبين مشكل اخر وهو اني في الاول طبقت على المثال المرفق لقاعدة البيانات لكن عند التجريب على قاعدة البيانات الاصلية و التي يمكن ان تصل الى 000 300 سطر بعد الضغط على زر حذف المكرر لم يظهر اي شئ واعتقد ان البرنامج يكون قد بدا في المعالجة لكن لحجم قاعدة البيانات الكبير ياخذ وقد انتظرت حوالي 5 د ولم يحدث اي تغيير RE: حذف الاسطرالمكررة في جدول - محمود بكرى - 04-06-17 (04-06-17, 06:14 PM)rabeh.ram كتب : تعقيب صغير اخي بعد ان ظهر لي ان الاشكال قد حل في الاول تبين مشكل اخر وهو اني في الاول طبقت على المثال المرفق لقاعدة البيانات لكن عند التجريب على قاعدة البيانات الاصلية و التي يمكن ان تصل الى 000 300 سطر بعد الضغط على زر حذف المكرر لم يظهر اي شئ واعتقد ان البرنامج يكون قد بدا في المعالجة لكن لحجم قاعدة البيانات الكبير ياخذ وقد انتظرت حوالي 5 د ولم يحدث اي تغييربالطبع الموضوع هنا يعتمد على امكانيات وسرعة الحاسوب 300 الف شيئ كبير ولاكن لا غني عن الاستعلام واسهل وابسط استعلام لتلافى المكرر هو عن طريق المجموعات كما فعلت فى المثال وذلك لا يعني الحل الوحيد نتمني الافادة من الزملاء وسوف ابحث معك عن حل ولاكن دائما اجعل لديك نسخة من قاعدة بياناتك محفوظة احتياطيا RE: حذف الاسطرالمكررة في جدول - rabeh.ram - 04-06-17 شكرا لك اخي محمود انت و الاخ alma2 على اهتمامكما الدائم بحل مشاكل اعضاء المنتدى فعلا لايمكن لكما او لاي عضو اراد ان يساعد في حل الاشكال اعطاء الحل الدقيق للمشكل دزن ان يطلع على قاعدة البيانات الاصلية ولهذا ارتأيت ان ارفق البرنامج مع تعديل بسيط باضافة التاريخ و طرح المشكل بالتفصيل في ملف ورد مرفق البرنامج مع قاعدة البيانات الاصلية مرفق واعذروني لم افع القاعدة في الاول لكوني فكرت ان مجرد مثال عنها يكفي اما بخصوص حلك اخي alma2 والذي يعتمد على ادراج مفتاح للجدول و من ثم حذفه فلا اشكال في ذالك اخي المهم ان ترجع قاعدة البيانات بعد حذف المكرر الى شكلها الاول بنهاية عملية الحذف و بامتدادها Access2003 .mdb ملاحظة نظرا لحجم البرنامج مع قاعدة البيانات 48Mo و الذي لم يقبل الرفع على المنتدى رفعته على الرابط من هنا RE: حذف الاسطرالمكررة في جدول - alma2 - 05-06-17 قمت بتجربة طريقتي بالاعتماد على تكرار العمود [الموضع (text)] للعدد (60277) فكانت المدة 00:57:01 (تقريبا ساعة كاملة) أعتقد مدة طويلة غير مناسبة ولكنها حذفت المكرر في النهاية فأصبحت العدد (59661) كود : Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickRE: حذف الاسطرالمكررة في جدول - rabeh.ram - 05-06-17 شكرا لمجهودك الرائع اخي alma2 هل استغرق البرنامج هذه المدة رغم تخصيص التاريخ وهل تعتقد انه لاتوجد طريقة اخرى اسرع نظرا لحجم القاعدة على العموم مجهودك يذكر ويشكر وانا انتظر افكار جديدة منك جعل المعالجة في وقت اقل |