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

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

قام بنشر

إخواني الأعزاء أعضاء المنتدي الكرام بعد سلام الله عليكم ورحمة الله وبركاته

محتاج كود لإعادة الترقيم التلقائي من الجدول الرئيسي بعد حذف بعض السجلات منه

ولكم جزيل الشكر

قام بنشر (معدل)
4 ساعات مضت, 2saad said:

إخواني الأعزاء أعضاء المنتدي الكرام بعد سلام الله عليكم ورحمة الله وبركاته

محتاج كود لإعادة الترقيم التلقائي من الجدول الرئيسي بعد حذف بعض السجلات منه

ولكم جزيل الشكر

اتفضل هذا الدالة تفي بالغرض ان شاء الله 
 

Function ResetAutoNo(ByVal TableName As String, ByVal FieldName As String)
On Error GoTo ErrorHandler
    
    Dim db As DAO.Database
    Dim tdf As DAO.TableDef
    Dim idx As DAO.Index
    Dim fld As DAO.Field
    Dim wasPrimaryKey As Boolean
    Dim pkName As String
    
    Set db = CurrentDb
    Set tdf = db.TableDefs(TableName)
    
    wasPrimaryKey = False
    For Each idx In tdf.Indexes
        If idx.Primary Then
            If idx.Fields(0).Name = FieldName Then
                wasPrimaryKey = True
                pkName = idx.Name
                tdf.Indexes.Delete pkName
                Exit For
            End If
        End If
    Next idx

    tdf.Fields.Delete FieldName

    Set fld = tdf.CreateField(FieldName, dbLong)
    fld.Attributes = fld.Attributes Or dbAutoIncrField
    tdf.Fields.Append fld
    
    If wasPrimaryKey Then
        Set idx = tdf.CreateIndex(pkName)
        idx.Fields.Append idx.CreateField(FieldName)
        idx.Primary = True
        tdf.Indexes.Append idx
    End If
    db.TableDefs.Refresh

    Set fld = Nothing
    Set tdf = Nothing
    Set db = Nothing
    
    Debug.Print "تم إعادة تعيين حقل الرقم التلقائي بنجاح"
    
    
ErrorHandler:
        If Err.Number = 0 Then
        ElseIf Err.Number = 3265 Then
            MsgBox "تحقق من اسم الجدول أو اسم الحقل", vbExclamation, "خطأ"
            Exit Function
        ElseIf Err.Number = 3211 Then
            MsgBox "الجدول تم تحريره او هناك مستخدم يستخدمه", vbExclamation, "خطأ"
            Exit Function
        Else
            MsgBox "Error " & Err.Number & ": " & Err.Description, vbCritical, "خطأ غير متوقع"
        End If
End Function

 

طريقة العمل 
 

Call ResetAutoNo("tbl_Name", "ID")

على اساس ان ID هو اسم الحقل الترقيم التلقائى 

و tbl_name هو اسم الجدول

تم تعديل بواسطه عمر ضاحى
  • Like 1
  • أفضل إجابة
قام بنشر
2 ساعات مضت, 2saad said:

شكرا جزيلا أخي الكريم وبارك الله فيك

 أين أضع هذا الكود ؟

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

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