اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر (معدل)

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

الشكر والثناء لكم مقدما 

مثال.accdbFetching info...

تم تعديل بواسطه مازن الحسيني
قام بنشر (معدل)

الشكر لله اولا ثم لاخواننا واساتذتنا جزاهم الله خيرا عنا

بالاضافه الى ما ذكره اخى ابو البشر - يجب عليك مراعاه وضع عنوان مناسب للموضوع مثلا كيفيه حذف اسماء مكرره

سؤال هل لهذه الاسماء كود مميز ام لا ؟ حتى يسهل عليك الفرز والحذف لان وجود مسافات زائده او تشابك لن يعتبر تشابه فالاسماء

تقبل تحياتى

درس حذف السجلات المكررة من الجدول اسهل طريقة - بدون استعلامات.rarFetching info...

تم تعديل بواسطه أحمد الفلاحجى
  • Like 2
قام بنشر

وده مثال اخر

لحذف مش اخفاء انتبه

تحدد فيه الجدول والحقل المراد وتنفذ

وبه ملف شرح فيديو + رابط

تقبل تحياتى وبالتوفيق

برنامج لحذف الحقول المكرره ببرنامجك مفتوح المصدر.rarFetching info...

  • Like 1
قام بنشر (معدل)

السلام عليكم استاذي الكريم تمت التجربة ولكن تم حذف كل الاسماء ولم يبقى اي اسم 

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

  في 3‏/1‏/2020 at 20:15, أحمد الفلاحجى said:

وده مثال اخر

لحذف مش اخفاء انتبه

تحدد فيه الجدول والحقل المراد وتنفذ

وبه ملف شرح فيديو + رابط

تقبل تحياتى وبالتوفيق

برنامج لحذف الحقول المكرره ببرنامجك مفتوح المصدر.rar 290.71 kB · 0 تنزيلات

Expand  

اخي الكريم تمت التجربة ولكن لم تنجح اذ قام بحذف كل الاسماء ولم يبقى اسم ....والمطلوب هو حذف الاسم المكرر وابقاء اسم واحد

تم تعديل بواسطه مازن الحسيني
قام بنشر

اخى مازن

قبل ارسال الملف لك قمت بتجربته

وسوف اقوم بتجربته على مثالك المرفق وارسله لك

 

هذا ملفك بعد التجربه عليه

ملحوظه الملف المرفق يعمل على قواعد بيانات 2003 وليست 2007 فما فوق

 

تجربه.mdbFetching info...

قام بنشر
  في 3‏/1‏/2020 at 20:47, أحمد الفلاحجى said:

اخى مازن

قبل ارسال الملف لك قمت بتجربته

وسوف اقوم بتجربته على مثالك المرفق وارسله لك

 

هذا ملفك بعد التجربه عليه

ملحوظه الملف المرفق يعمل على قواعد بيانات 2003 وليست 2007 فما فوق

 

تجربه.mdb 276 kB · 1 تنزيلات

Expand  

كل الشكر لك سيدي ولكن الاوفس عندي 2007 

 

قام بنشر

الشكر لله ثم لاخواننا واساتذتنا

وبلاش كلمه سيدى خليها اخى افضل فكلنا اخوان فالله

ممكن تحوله ل 2003 وتشتغل عليه ثم تستورد الجدول بعد ما تخلص شغلك

وان شاء الله احد اساتذتنا يوفرلك حلول اخرى

تقبل تحياتى وتمنياتى لك بالتوفيق

  في 3‏/1‏/2020 at 20:02, kha9009lid said:

 

Expand  

وممكن تجرب الحل اللذى فالرابط الذى اشار لك به اخى خالد بالاعلى وهو من استاذنا الجليل ابو خليل

  في 25‏/1‏/2014 at 20:36, ابوخليل said:

يوجد اكثر من طريقة لحذف السجلات المكررة

1- انشاء استعلام البحث عن المتطابقات بواسطة المعالج ثم حذف السجلات المكررة يدويا

وهذا يصلح اذا كانت المكررات قليلة

2- نسخ بنية الجدول فقط وحفظها باسم جديد ثم تعيين احد الحقول المناسبة كمفتاح لا يقبل التكرار

بعد ذلك فتح الجدول الاساس ونحدد جميع السجلات ثم ننسخها ونلصقها في الجدول الجديد

النتيجة : نقل البيانات بلا مكررات

ويمكن بدلا من النسخ واللصق استخدام استعلام الالحاق لعمل ذلك

ملحوظة : ستخرج عليك رسائل تفيد بتعذر اللصق بسبب مخالفات  وكل ما عليك هو تجاهلها

 

بالتوفيق ،،،

Expand  

  • Like 2
قام بنشر

الحل الاسهل

  1. نقوم بنسخ الجدول الموجود به السجلات المكررة
  2. نقوم بلصقة في نفس القاعدة ومن الاختيارات التي سوف تظهر لنا نختار البنية فقط
  3. نقوم بالدخول على خصائص الجدول الجديد في خانة الاسم في حالتناونجعلة مفتاح اساس لايقبل التكرار
  4. نقوم بعمل استعلام الحاق لكافة البيانات
  5. نقوم بتشغيل الاستعلام ونتجاهل ايرسالة خطأ
  6. بعد انتهاء تنفيذ الاستعلام سوف نجد انالاسماء المكرر حذفت من الجدول الجديد
  7. نقوم بحذف البيانات من الجدول القديم ونستبدلها بالبيانات الغير مكررة ويمكن تنفيذ ذلك يدويا او باستعلام

دائما وابدا نحتفظ بنسخة احتياطية قبل تنفيذ ماسبق

 

رتبت لك الخطوات للتسهيل مع الشكر لاخي احمد على جهوده

  • Like 3
قام بنشر
  في 3‏/1‏/2020 at 21:50, ابوآمنة said:

جرب  المرفق

DoCmd.RunSQL "DELETE * FROM table1 WHERE key NOT IN ( SELECT min(key) FROM  table1 GROUP BY FirstName, Address2)"

 

حذف السجلات المكررة.mdb 364 kB · 1 تنزيلات

Expand  

جزاك الله خيرا اخى صالح

تقبلوا تحياتى وتمنياتى لكم بالتوفيق

قام بنشر (معدل)
  في 3‏/1‏/2020 at 21:34, أحمد الفلاحجى said:

الشكر لله ثم لاخواننا واساتذتنا

وبلاش كلمه سيدى خليها اخى افضل فكلنا اخوان فالله

ممكن تحوله ل 2003 وتشتغل عليه ثم تستورد الجدول بعد ما تخلص شغلك

وان شاء الله احد اساتذتنا يوفرلك حلول اخرى

تقبل تحياتى وتمنياتى لك بالتوفيق

وممكن تجرب الحل اللذى فالرابط الذى اشار لك به اخى خالد بالاعلى وهو من استاذنا الجليل ابو خليل

 

 

Expand  

كل الشكر والثناء لكم اخوتي  على جهودكم . 

اخوتي كل ماقدمتم من حلول جربتها . 

المشكلة . نعم كل الحلول تحذف الاسم المكرر في حقل الاسم ولكنها بنفس الوقت تحذف باقي البيانات للاسم في حقول اخرى 

والمطلوب هو حذف الاسم المكرر في حقل الاسم مع ابقاء البيانات في الحقول الاخرى والفائده من بقاء تلك البيانات هي حفظ الامكنه التي عمل فيها الموظف بمعنى حذف تكرار الاسم وابقاء الامكنه التي عمل بها الاسم . مع العلم ان قاعدة البيانات تحوي على 2 ميلون اسم مع المكرر. دمتم بالف بالف خير 

كما هو في جدول2

 

 

  في 3‏/1‏/2020 at 21:50, ابوآمنة said:

جرب  المرفق

DoCmd.RunSQL "DELETE * FROM table1 WHERE key NOT IN ( SELECT min(key) FROM  table1 GROUP BY FirstName, Address2)"

 

حذف السجلات المكررة.mdb 364 kB · 6 تنزيلات

Expand  

كل الشكر والثناء لكم اخوتي  على جهودكم . 

اخوتي كل ماقدمتم من حلول جربتها . 

المشكلة . نعم كل الحلول تحذف الاسم المكرر في حقل الاسم ولكنها بنفس الوقت تحذف باقي البيانات للاسم في حقول اخرى 

والمطلوب هو حذف الاسم المكرر في حقل الاسم مع ابقاء البيانات في الحقول الاخرى والفائده من بقاء تلك البيانات هي حفظ الامكنه التي عمل فيها الموظف بمعنى حذف تكرار الاسم وابقاء الامكنه التي عمل بها الاسم . مع العلم ان قاعدة البيانات تحوي على 2 ميلون اسم مع المكرر. دمتم بالف بالف خير

  في 3‏/1‏/2020 at 21:44, kha9009lid said:

الحل الاسهل

  1. نقوم بنسخ الجدول الموجود به السجلات المكررة
  2. نقوم بلصقة في نفس القاعدة ومن الاختيارات التي سوف تظهر لنا نختار البنية فقط
  3. نقوم بالدخول على خصائص الجدول الجديد في خانة الاسم في حالتناونجعلة مفتاح اساس لايقبل التكرار
  4. نقوم بعمل استعلام الحاق لكافة البيانات
  5. نقوم بتشغيل الاستعلام ونتجاهل ايرسالة خطأ
  6. بعد انتهاء تنفيذ الاستعلام سوف نجد انالاسماء المكرر حذفت من الجدول الجديد
  7. نقوم بحذف البيانات من الجدول القديم ونستبدلها بالبيانات الغير مكررة ويمكن تنفيذ ذلك يدويا او باستعلام

دائما وابدا نحتفظ بنسخة احتياطية قبل تنفيذ ماسبق

 

رتبت لك الخطوات للتسهيل مع الشكر لاخي احمد على جهوده

Expand  

كل الشكر والثناء لكم اخوتي  على جهودكم . 

اخوتي كل ماقدمتم من حلول جربتها . 

المشكلة . نعم كل الحلول تحذف الاسم المكرر في حقل الاسم ولكنها بنفس الوقت تحذف باقي البيانات للاسم في حقول اخرى 

والمطلوب هو حذف الاسم المكرر في حقل الاسم مع ابقاء البيانات في الحقول الاخرى والفائده من بقاء تلك البيانات هي حفظ الامكنه التي عمل فيها الموظف بمعنى حذف تكرار الاسم وابقاء الامكنه التي عمل بها الاسم . مع العلم ان قاعدة البيانات تحوي على 2 ميلون اسم مع المكرر. دمتم بالف بالف خير

المطلوب.accdbFetching info...

تم تعديل بواسطه مازن الحسيني
قام بنشر (معدل)

من الواضح ان قاعدة البيانات لديك لم يتم اعدادها بشكل صحيح

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

امر اخر خطأ ان يكون اسم الموظف وجهة العمل في نفس الجدول جدول للموظفين جدول للوظائف جدول لجهات العمل الخ وتربط الجداول بعلاقات حينها لو تغيرت جهة العمل 1000 مرة لن يحصل تكرار

اعتقد ان الا جراء الصحيح ان تبدأ في انشاء قاعدة بيانات جديدة تبنى بشكل صحيح

تم تعديل بواسطه kha9009lid
  • Like 3
قام بنشر

اخى مازن

بالنسبه للمثال الذي ارفقته لك نعم يفعل ذلك جربته الان بعدما اشرت الى ذلك

  في 4‏/1‏/2020 at 18:35, kha9009lid said:

من الواضح ان قاعدة البيانات لديك لم يتم اعدادها بشكل صحيح

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

امر اخر خطأ ان يكون اسم الموظف وجهة العمل في نفس الجدول جدول للموظفين جدول للوظائف جدول لجهات العمل الخ وتربط الجداول بعلاقات حينها لو تغيرت جهة العمل 1000 مرة لن يحصل تكرار

اعتقد ان الا جراء الصحيح ان تبدأ في انشاء قاعدة بيانات جديدة تبنى بشكل صحيح

Expand  

اتفق مع اخى واستاذى خالد وكذلك اخى kanory

وبالرغم من ذلك فالحل كان امامك ايضا فى مثال اخى صالح

وذلك لان المثال الذى ارفقته ينبغى مراعه شرط آخر  غير تكرار الاسم وهو الدائره

وفى مثالك 1 فقط فقط الذى ينطبق عليه الوصف التكرار محمد يوسف - البلديه

قمت باضافه حقل ترقيم تلقائى لان عند محاولتى التنفيذ على الاسم لم يتم فقمت باضافته لاستعماله وقمت بتغيير اسماء الحقول فقط لتسهيل عمليه كتابه الكود وتم ذلك بنجاح والحمدلله رب العالمين

جرب واخبرنا بالنتيجه قم باضافه الاسم مره اخرى كما هو وجرب تشغيل استعلام الحذف

تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق

 

تجربه اخرى.accdbFetching info...

قام بنشر
  في 4‏/1‏/2020 at 18:52, kanory said:

ما ذكرة أخي @kha9009lid صحيح لكن جرب هذا المرفق لربما يخرجك من مأزق 2 مليون اسم مكرر 

 

مثال (5).accdb 376 kB · 5 تنزيلات

Expand  

السلام عليكم اخي المحترم

بارك الله بجهودكم ودمت سالما 

اخي جربت ذلك واستغرق الامر 6 ساعات من الانتظار ولم تظهر النتائج ذلك لكبر القاعدة  , في حين جربت مثالك في قاعدة بيانات عدد سجلاتها قليل وكانت النتائج جيدة .

لايسعني الا شكرك والثناء عليك وان كان لديك حل اخر اكون شاكر لك وللجهود التي بذلتها 

دمت بخير  وسعادة.

  في 4‏/1‏/2020 at 20:18, أحمد الفلاحجى said:

اخى مازن

بالنسبه للمثال الذي ارفقته لك نعم يفعل ذلك جربته الان بعدما اشرت الى ذلك

اتفق مع اخى واستاذى خالد وكذلك اخى kanory

وبالرغم من ذلك فالحل كان امامك ايضا فى مثال اخى صالح

وذلك لان المثال الذى ارفقته ينبغى مراعه شرط آخر  غير تكرار الاسم وهو الدائره

وفى مثالك 1 فقط فقط الذى ينطبق عليه الوصف التكرار محمد يوسف - البلديه

قمت باضافه حقل ترقيم تلقائى لان عند محاولتى التنفيذ على الاسم لم يتم فقمت باضافته لاستعماله وقمت بتغيير اسماء الحقول فقط لتسهيل عمليه كتابه الكود وتم ذلك بنجاح والحمدلله رب العالمين

جرب واخبرنا بالنتيجه قم باضافه الاسم مره اخرى كما هو وجرب تشغيل استعلام الحذف

تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق

 

تجربه اخرى.accdb 508 kB · 4 تنزيلات

Expand  

السلام عليكم اخي الكريم

لايسعني الا شكرك والثناء عليك لما بذلته من جهد ولسعة صدرك معي 

اخي الكريم المثال الذي قدمته حضرتك لايعمل فيه الاستعلام ويظهر لي ىكما في الصوره المرفقة 

دمتم بخير وسعادة

Doc1.docxFetching info...

قام بنشر

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

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

الملف يعمل عندى وقمت بتحميله وتجربته ويعمل

 

قام بنشر

جرب

مره اخرى قمت بتنفيذ الاستعلام على مثالك الاول عدلت فقط اسم الجدول t1 واضفت حقل الترقيم التلقائى

ويعمل بشكل جيد انظر لاستعلام التكرار ثم نفذ استعلام الحذف

ووافنا بالنتيجه

مثال(3).accdbFetching info...

قام بنشر
  في 6‏/1‏/2020 at 15:19, أحمد الفلاحجى said:

جرب

مره اخرى قمت بتنفيذ الاستعلام على مثالك الاول عدلت فقط اسم الجدول t1 واضفت حقل الترقيم التلقائى

ويعمل بشكل جيد انظر لاستعلام التكرار ثم نفذ استعلام الحذف

ووافنا بالنتيجه

مثال(3).accdb 452 kB · 1 تنزيلات

Expand  

السلام عليك ايها الاخ الكريم المحترم

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

شلكرا لك جهودك التي لاتثمن واسال الله لك الصحة والسلامه طامعا بعلمك وكرمك ان تجد لي طريقة للحل 

دمت بالف خير وسعادة

 

مثال(3).accdbFetching info...

قام بنشر

اخى الفاضل

  في 6‏/1‏/2020 at 15:19, أحمد الفلاحجى said:

مره اخرى قمت بتنفيذ الاستعلام على مثالك الاول عدلت فقط اسم الجدول t1 واضفت حقل الترقيم التلقائى

ويعمل بشكل جيد انظر لاستعلام التكرار ثم نفذ استعلام الحذف

Expand  

حقل الترقيم ID مهم لتتم عمليه الحذف بنجاح

فى مثالك الاخير اللذى قمت بارفاقه انت حذفت حقل الترقيم التلقائى انت سوف تضيفه بنفس الاسم وان غيرته غيره فالاستعلام كذلك

وعدلت لك المثال الاخير وجعلت التاريخ المفتاح الاساسى بدل حقل ID الترقيم التلقائى فى المثال الاخير لى وتم الحذف بنجاح ايضا

جرب اضف الاسم مره اخرى محمد يوسف - البلديه

DELETE t1.الاسم, *
FROM t1
WHERE تاريخ Not In (SELECT min(تاريخ) FROM  t1 GROUP BY الاسم, الدائرة);

جرب ووافنا بالنتيجه

بالتوفيق اخى

مثال(3)(1).accdbFetching info...

قام بنشر
  في 6‏/1‏/2020 at 20:46, أحمد الفلاحجى said:

اخى الفاضل

حقل الترقيم ID مهم لتتم عمليه الحذف بنجاح

فى مثالك الاخير اللذى قمت بارفاقه انت حذفت حقل الترقيم التلقائى انت سوف تضيفه بنفس الاسم وان غيرته غيره فالاستعلام كذلك

وعدلت لك المثال الاخير وجعلت التاريخ المفتاح الاساسى بدل حقل ID الترقيم التلقائى فى المثال الاخير لى وتم الحذف بنجاح ايضا

جرب اضف الاسم مره اخرى محمد يوسف - البلديه

DELETE t1.الاسم, *
FROM t1
WHERE تاريخ Not In (SELECT min(تاريخ) FROM  t1 GROUP BY الاسم, الدائرة);

جرب ووافنا بالنتيجه

بالتوفيق اخى

مثال(3)(1).accdb 456 kB · 1 تنزيلات

Expand  

السلام عليكم اخي اسف جدا لم يعمل 

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

لايسعني سوى الدعاء لك بالموفقية والصحة الدائمة والنجاح 

مثال (5).accdbFetching info...

قام بنشر
  في 6‏/1‏/2020 at 21:32, مازن الحسيني said:

السلام عليكم اخي اسف جدا لم يعمل 

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

Expand  

 

مثال (5) (1).accdbFetching info...

  • Like 1
  • Thanks 1

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