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

ترقيم تلقائي


noursh

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

كيف يمكنني عمل ترقيم تلقائي بحيث لا يكون نوع الحقل ترقيم تلقائي ولكن يكون رقم بحيث إذا أضفت سجل جديد يعطيني الرقم التالي وإذا حذفت لا يحذف رقماً وإنما يعطي ترتيب الرقم الذي يليه؟؟؟؟؟؟؟؟؟

بعكس الترقيم التلقائي الذي إذا حذفنا منه أي سجل يحذف الرقم نهائياً

هل يمكنني عمل زر أوامر جديد بحيث عند إضافة السجل يعطيني قيمة الحقل +1

ولكن كيف يتم إذا حذف سجل

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

في الرابط المشار اليه عاليه اذا قمت بحذف السجل الأخير فلن يتم اخذ ترقيم السجل الاخير الذي تم حذفه في الاعتبار ..

ولكن اذا اردت حذف سجل غير السجل الأخير لا يحبذ بالطبع اعادة الترقيم اذا تم حذف احد السجلات غير السجل الأخير واذا اردت عمل ذلك فاستخدم استعلام تحديث (Update Query)

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

  • 2 weeks later...

قم بانشاء حقل سميه ID نوع البيانات رقم ,في النموذج أنشىء حقل نص و سميه تسلسل مثلا.

في تصميم النموذج في حدث في الحالي أكتب الكود التالي:

Private Sub Form_Current()

If Me.NewRecord Then

On Error Resume Next 'It should never occur, just to be sure...

Me!ID.DefaultValue = Nz(DMax("[iD]", "tblList"), 0) + 1

End If

End Sub

حيث أن tblList هو اٍسم الجدول الموجود به حقل ID

هكذا تتخلص نهائيا من مشكلة الترقيم التلقائي.

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

الشكر الجزيل لك على الرد

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

أما إذا كان أرقام سابقة فلا يأخذ أكبر قيمة

على كل حال حذفت السجلات وبدأت بترقيم جديد

ولكن عند حذف السجل لا يعطيني السج الناقص

كما أنه يمكن تنزيل الرقم باليد بدلاً من الشكل التلقائي

فكيف يمكن معالجة الأمر

وأنا آسف على الازعاج

الرجاء الرد ولكم الشكل

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

الشكر الجزيل لك على المثال ولقد طبقت ذلك سابقاً ونجحت التجربة ولكن بقي

أن لا أسمح للمستخدم بأن يدخل الرقم بيده لذلك سأعمل خانة النص disable

بحيث لا يضيف الرقم بيده

وأما استعلام التحديث في حال الحذف فهل أضعه في زر الحذف وأضع اسم مربع النص

مع العلم أن عندي حوالي 5 نماذج أريد عمل ذلك لكل منهما

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

  • 2 weeks later...

لاستعادة الترقيم عند حف أي ملف

يمكن إضافة هذه التعليمات في زر الحذف وهي:

Dim RS As DAO.Recordset
    Dim Counter As Integer
    
    Set RS = Me.Recordset
    If RS.RecordCount = 0 Then
        Exit Sub
    End If
    
    RS.MoveFirst
    Counter = 0
    
    While Not RS.EOF
    Counter = Counter + 1
    RS.edit
    RS!Cu_ID = Counter
    RS.Update
    RS.MoveNext
    Wend
    
    Me.Recalc

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

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

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



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

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

Important Information