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

حذف البيانات المكررة


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

السلام عليكم

بالمرفق استعلام بحث عن تكرار البيانات في حقل "مذكرة"

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

حذف البيانات المكررة.accdb

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

13 دقائق مضت, وائل أبو عبد الرحمن said:

السلام عليكم

بالمرفق استعلام بحث عن تكرار البيانات في حقل "مذكرة"

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

حذف البيانات المكررة.accdb

اتفضل اخي 
اليك هذا الرابط

واليك التعديل على قاعدة بياناتك
اولا انا قمت بعمل استعلام وبيأخذ اول سجل بدون تكرار اي عملت تجميع في الاستعلام
وباستعلام اخر عمل جدول جديد بالبيانات بواسطة استعلام الاول


 

حذف البيانات المكررة.accdb

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

أستاذ شيفان

بداية شكرا لحضرتك علي مشاركتك الإيجابية

29 دقائق مضت, Shivan Rekany said:

اولا انا قمت بعمل استعلام وبيأخذ اول سجل بدون تكرار اي عملت تجميع في الاستعلام
وباستعلام اخر عمل جدول جديد بالبيانات بواسطة استعلام الاول

ثانياً لأني سوف أعمم الفكرة على عدة جداول أخري بها بيانات مكررة أريد فهم ما تفضلت به جيدا فارجو منك عذرا مزيداً من التوضيح لأني لم أستوعب الفكرة جيدا 

- هل مع كل جدول لابد أن أنشيء جدول جديد للجدول الأصلي وعمل استعلام جديد مع الاستعلام الأصلي كما فعلت أنت.

- أين وكيف سأحذف البيانات المكررة بعد حصرها مع ملاحظة أني أريد معاينة المكرر أولا قبل حذفه.

أكرر شكرى لك

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

34 دقائق مضت, وائل أبو عبد الرحمن said:

- هل مع كل جدول لابد أن أنشيء جدول جديد للجدول الأصلي وعمل استعلام جديد مع الاستعلام الأصلي كما فعلت أنت.

نعم واحذف الجدول الاصلي بعدين

35 دقائق مضت, وائل أبو عبد الرحمن said:

- أين وكيف سأحذف البيانات المكررة بعد حصرها مع ملاحظة أني أريد معاينة المكرر أولا قبل حذفه.

في المرفق كان عندك استعلام اخر بيظهر التكرارات 

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

أستاذى الكريم

أريد حصر التكرار سواء في جدول أو استعلام لمعاينته ثم أقوم بحذف المتكرر يدويا لا أن يتم الحذف تلقائيا لأن الاستعلام الذي يظهر التكرار لا يستجيب للحذف 

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

41 دقائق مضت, وائل أبو عبد الرحمن said:

أستاذى الكريم

أريد حصر التكرار سواء في جدول أو استعلام لمعاينته ثم أقوم بحذف المتكرر يدويا لا أن يتم الحذف تلقائيا لأن الاستعلام الذي يظهر التكرار لا يستجيب للحذف 

اتفضل اليك هذا 
 

حذف البيانات المكررة.accdb

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

أستاذ Shivan Rekany

بداية أعتذر عن التأخير الاضطراري في الرد.

5 ساعات مضت, Shivan Rekany said:

اتفضل اليك هذا 

ثانيا ما شاء الله ما تفضلت به هو المطلوب فجزاك الله خيرا

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

مثلاً في السجل رقم 5576 نجد في حقل نص التعريف الجملة التالية:-

استعبر : استفعل من العَبْرة ، وهي تَحلُّب الدمع

والمطلوب هو نقل كلمة استعبر "أي ما يمثل كلمة التعريف" إلي حقل التعريف وحذف الـ ( : ) وبقاء باقي الجملة في حقل نص التعريف ووضع نقطة نهاية الجملة ليصبح هكذا وشكرا جزيلا لحضرتك.

222.jpg.d93f618cded35c90c7beca505380e8da.jpg

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

في ٢٠‏/٢‏/٢٠١٨ at 18:26, وائل أبو عبد الرحمن said:

استعبر : استفعل من العَبْرة ، وهي تَحلُّب الدمع

والمطلوب هو نقل كلمة استعبر "أي ما يمثل كلمة التعريف" إلي حقل التعريف وحذف الـ ( : ) وبقاء باقي الجملة في حقل نص التعريف ووضع نقطة نهاية الجملة ليصبح هكذا وشكرا جزيلا لحضرتك.

اتفضل
تم العمل هذه الوحدة النمطية
 

Option Compare Database
Option Explicit
Public Function GetQablaRimoz(SText)
    Dim i
    Dim Text
    Dim Nu As Integer
    For i = 1 To Len(SText)
        If (Mid(SText, i, 1)) = ":" Then
            Nu = Nu + 1
            Text = Text & Mid(SText, i, 1)
        End If
    Next
        Dim LArray() As String
        LArray = Split(SText, ":")
    If Nu > 0 Then
            GetQablaRimoz = LArray(0)
    End If
End Function
Public Function GetBaadaRimoz(SText)
    Dim i
    Dim Text
    Dim Nu As Integer
    For i = 1 To Len(SText)
        If (Mid(SText, i, 1)) = ":" Then
            Nu = Nu + 1
            Text = Text & Mid(SText, i, 1)
        End If
    Next
        Dim LArray() As String
        LArray = Split(SText, ":")
    If Right(SText, 1) <> "." Then
            If Nu = 0 Then
                    GetBaadaRimoz = SText & " ."
                ElseIf Nu = 1 Then
                    GetBaadaRimoz = LArray(1) & " ."
                ElseIf Nu = 2 Then
                    GetBaadaRimoz = LArray(1) & LArray(2) & " ."
                ElseIf Nu = 3 Then
                    GetBaadaRimoz = LArray(1) & LArray(2) & LArray(3) & " ."
            End If
        Else
            If Nu = 0 Then
                    GetBaadaRimoz = SText
                ElseIf Nu = 1 Then
                    GetBaadaRimoz = LArray(1)
                ElseIf Nu = 2 Then
                    GetBaadaRimoz = LArray(1) & LArray(2)
                ElseIf Nu = 3 Then
                    GetBaadaRimoz = LArray(1) & LArray(2) & LArray(3)
            End If
    End If
End Function

وهذه الاستعلامات التحديث Q1
 

UPDATE T3reeft SET T3reeft.AlT3reef = GetQablaRimoz([T3reeft]![T3reeftText])
WHERE (((T3reeft.AlT3reef) Is Null));

 Q2
 

UPDATE T3reeft SET T3reeft.T3reeftText = GetBaadaRimoz([T3reeft]![T3reeftText]);

قم بتشغيل استعلام الاول وبعدين الاستعلام الثاني
اليك المرفق 
 

حذف البيانات المكررة.accdb

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

ما شاء الله 

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

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information