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

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


AymenShaban

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

السلام عليكم

لدي جدول يحتوي علي بيانات متلا رقم واسم ولقب

مثلا

1    ايمن   شعبان

2    احمد   على

1    خالد    سليمان

3    سالم   محمد

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

متلا

1   ايمن   شعبان

2   احمد   علي 

3   سالم   محمد

ولكم مني كل التقدير والاحترام

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

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

المفروض في سؤالك ان تحتفظ بالرقم المتشابه الاول ولنفرض اسم الحقل ID في الجدول1

1-أعمل جدول2 لالحاق البيانات من الجدول1 الى الجدول2 حتى تحتفظ بالسجلات الاصلية ..حيث تعمل استعلام الحاق بذلك نسميه App_Q

2- اعمل استعلام من الجدول1 ولنسميه مثلا DUPE_Query

3- نعمل موديول لحذف الارقام المكررة بهذا الشكل

Sub DUPE_REMOVAL()
'مسح الارقام المكررة من الجدول
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim ingID As Long
Dim ingIDLast As Long

        Set db = CurrentDb
        Set rst = db.OpenRecordset("DUPE_Query")
        ingIDLast = 0
        Do Until rst.EOF
        ingID = rst!ID
        If ingID = ingIDLast Then
           rst.Delete
        End If
            rst.MoveNext
            ingIDLast = ingID
        Loop
        rst.Close
        Set rst = Nothing
        Set db = Nothing

End Sub

4- اعمل نموذج مع كمبوبوكس مصدر الصف له من الاستعلام  DUPE_Query

5- في حدث عند التحميل للنموذج ضع الكود التالي

DoCmd.SetWarnings False
DoCmd.OpenQuery "App_Q"
DoCmd.SetWarnings True
Call DUPE_REMOVAL

 

تم تعديل بواسطه Eng.Qassim
  • Like 3
رابط هذا التعليق
شارك

السلام عليكم ورحمه الله وبركاته

بالرغم من انى مش مقتنع بفكره التكرار لان التكرار هو للصف بالكامل

ولكن اتفضلاخى @AymenShaban محاوله منى ب 3 طرق

الاولى باستخدام dlookup فى استعلام qry مع frm وغير محبب استخدامه مع البيانات الكثيره

الثانى frm2 وتم استخدام كود فحدث عند الفتح

Private Sub Form_Open(Cancel As Integer)

   On Error Resume Next
    Dim Rs As DAO.Recordset
    
    Dim dict As Dictionary
    Set dict = New Dictionary
    
    Set Rs = CurrentDb.OpenRecordset("tbl")
    
    Rs.MoveLast: Rs.MoveFirst

    For i = 0 To Rs.RecordCount - 1
        dict.Add "'" & Rs!ID & "'", "'" & Rs!sname & "'"
        Rs.MoveNext
    Next

    Dim key As Variant
    For Each key In dict.Keys
'        Debug.Print "Key: " & key, "Value: " & dict.Item(key)
        Me.cmbName.AddItem key & ";" & dict.Item(key)
    Next

Rs.Close
End Sub

الثالث frm3 وهو باستخدام حقل اضافى لترقيم السجلات

بالتوفيق

new6.mdb

  • Like 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