اذهب الي المحتوي
أوفيسنا

مثال متقدم لحذف السجلات المكررة والإبقاء على أوائل


sohyla

الردود الموصى بها

الاخوة الكرام

عندى قاعدة بيانات كبيرة الحجم وقد لاحظت تكراركثير بها وعملت استعلام لايجاد السجلات المكررة وبالفعل حصلت عليها والآن اريد ان احذف هذه السجلات المكرره برجاء الافادة وشكرا

رابط هذا التعليق
شارك

السلام عليكم

هذا مثال لفكرة ممكن تطويرها لاحقا ، تحتاج إلى تقييم وملاحظات كل من يهمه هذا الموضوع .

قد يكون هناك حلول سابقة ولكني وبكل صراحة لم أبحث فأرجو أن لا أكون قد ككرت ما هو موجود .

لا تطبقوا المثال مباشرة على جداولكم الرئيسة .

تحياتي .

DeleteDuplicates.rar

تم تعديل بواسطه أبو هادي
رابط هذا التعليق
شارك

الاخت الفاضلة

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

رابط هذا التعليق
شارك

  • 2 weeks later...

السلام عليكم

مثال للحصول على الجداول وحقولها وفهارسها والسجلات المكررة فيها .

والحقيقة أن هذا المثال مقدمة لموضوع أثرته سابقا ولكن لم أجد من استوعب فكرتي وقتها وهو الوصول إلى حل إلى حذف السجلات المكررة مع الإبقاء بقدر الإمكان على السجلات الأولى للسجلات المكررة حسب إدخالها .

ولكون أني لا زلت أبحث عدة أفكار وطرق لعمل ذلك آثرت أن أضع هذا الموضوع لكسر الركود وإنعاش الجو العام :d .

تحياتي .

الملف المرفق ( عدد مرات التنزيل: 20 )

FindDuplicates.rar

يوجد مرفق آخر في المشاركات التالية .

رابط هذا التعليق
شارك

ولكن لم أجد من استوعب فكرتي وقتها

يا أخي الناس معذورة برضه ، فالمثال يبدو من النظرة الأولي أنه من النوع الثقيل :d

و إن شاء الله نستفيد منه جميعا

الإبقاء بقدر الإمكان على السجلات الأولى

لماذا بقدر الامكان ، هل الملحوظة تخص الترتيب فقط

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

و هو

كان لدي جدول به عدد من عناوين البريد المتكررة و أردتحذف المتكرر منها ، و طبعا استسهلت و فعلت ذلك يدويا باستعلام تجميع ثم استعلام انشاء جدول جديد

و لنا عودة قريبا باذن الله

رابط هذا التعليق
شارك

السلام عليكم

أخي محمد طاهر .. يهمني كثيرا أن أبقي على ترتيب السجلات حسب إدخالها ، وأعود نفسي دائما أن أبتعد عن الحشر وذلك بالحذف ثم الإضافة والإعتماد على الترتيب بالمفتاح الأساسي أو بالترتيب المتعارف عليه وخصوصا لو أردت أن أصل إلى حل مشكلة التبست فيها الأمور وضاعت بين زحمة السجلات .

ولما ألمحت هنا أني أحاول أن أصل لذلك بقدر الإمكان وذلك لكوني أود أن أسهل المثال بالاعتماد على الإستعلامات والإبتعاد عن الكود وذلك للجداول التي لا تحتوي على مفتاح أساسي أو فهارس لا تقبل التكرار حيث لا يوجد أي علامة فارقة بين السجلات يمكن الرجوع لها عند الوصول إلى استعلام أوائل سجلات المتكررات . أما بالكود فأعتقد أن المشكلة منتهية .

تحياتي .

رابط هذا التعليق
شارك

السلام عليكم

يوجد جزء من إجراء GetIndexes يمكن اختصاره من :

            rst!FieldType = IIf(idxLoop.Primary, IIf(InStr(1, idxLoop.Fields, ";") > 0, "", _
                            FieldType(tdf(Mid(idxLoop.Fields, 2)).Type)), _
                            FieldType(tdf(Mid(idxLoop.Fields, 2)).Type))
إلى :
            rst!FieldType = FieldType(tdf(Mid(idxLoop.Fields, 2)).Type)

تحياتي .

تم تعديل بواسطه امير عاطف
رابط هذا التعليق
شارك

  • 2 weeks later...

السلام عليكم

تم بحمد الله .

ويحتاج الآن إلى تجاربكم وإبداء ملاحظاتكم .

ولقد التزمت بما ألزمت به نفسي سابقا بإبقاء أوائل السجلات المكررة حسب ادخالها .

ملاحظة :

يكفي استيراد النموذج فقط لبرامجكم .

تحياتي .

الملف المرفق ( عدد مرات التنزيل: 14 )

FindDuplicates.rar

تم تعديل بواسطه أبو هادي
رابط هذا التعليق
شارك

السلام عليكم

شكرا لك أخي محمد على تثبيت الموضوع .

سأبدأ أنا :d لقد اكتشفت نقصا وهو عدم اظهار الإستعلامات ، وسوف أقوم الليلة إن شاء الله بإضافتها .

تحياتي .

تم تعديل بواسطه أبو هادي
رابط هذا التعليق
شارك

السلام عليكم

لقد تم تنقيح المثال كثييييييييييييييييرا .

وتم إضافة الإستعلامات وتمت تسمية الجداول على نسق ملفات النظام ، حيث يمكن إخفاؤها وإظهارها مع ملفات النظام تماما .

تحياتي .

FindDuplicates.rar

تم تعديل بواسطه امير عاطف
رابط هذا التعليق
شارك

بسيطة انسخ جدولك وسميه باسم جديد ومن ثم ترجع للجدول القديم وتحذف جميع البيانات منه وتدخل على عرض التصميم للجدول وتضع بريمري كي على الحقل المراد ازالة التكرار منه واحفظ الجدول ثم تعود مرة ثانية على جدولك الجديد وتنسخ جميع السجلات وتذهب للجدول الذي عملت فيه البريمري كي وتلصق السجلات ستظهر رسالة خطا في لصق السجلات اضغط موافق ستجد بعد خروجك جدول جديد اسمه اخطاء اللصق يوجد فيه القيم المكرره اطلع عليها ثم احذف الجدول برمته

رابط هذا التعليق
شارك

السلام عليكم

الأخ مندل .. هل ما أوضحته حل بديل أم إضافة أم ماذا ؟

لو كلفت نفسك قليلا وأنزلت نسخة من المثال واطلعت عليها قبل أن تكتب مشاركتك الجميلة كان أفضل علما أن خاصية الإنزال مجانية ولا تحتاج لشرائها من المتجر :d ، عموما شكرا لك وهي معلومة جديدة بالنسبة لي .

تحياتي .

رابط هذا التعليق
شارك

السلام عليكم

لقد جربت طريقة الأخ مندل وتمت العملية بنجاج ولكنها لم تنجح في الإبقاء على السجلات الأولى في المتكررات والتي حرصت عليها في مثالي حيث تأثرت بترتيب الجدول أثناء النسخ .

تحياتي .

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information