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

مساعدة في ترتيب ارقام


إذهب إلى أفضل إجابة Solved by Barna,

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

السلام عليكم 

في النموذج fnumber  يوجد نموذج فرعي يحتوي ارقام قد تزيد وقد تنقص  احتاج ترتيب هذة الارقم  من 1 الى نهاية الارقام من خلال الزر الموجود في النموذج الرئيسي  اي    .......12345   بمعنى لوفرضنا انة لدي 50 سجل وتم حذف السجل رقم 40 يتم يصبح عدد السجلات 49  ويتم ارجاع القيمة  بارجاع القيمة 40 المحذوفة بدل السجل 50 اتمنى ان تكون الفكرة واضحة 

numbers.accdb

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

6 دقائق مضت, Foksh said:

يعني لو انت حذفت السجل رقم 40 ، وبعدها بوقت ثاني جيت وضفت سجل جديد . تريد السجل الجديد يكون رقمه 40 بدلاً من 51

اخي باختصار  احتاج ان تكون هذة الارقام مرتبة دائما بشكل تلقائي سواء حذف او اضافة 

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

3 ساعات مضت, ازهر عبد العزيز said:

اخي باختصار  احتاج ان تكون هذة الارقام مرتبة دائما بشكل تلقائي سواء حذف او اضافة 

لا يا صديقي ، لا تختصر حتى تتوضح الصورة :smile:

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

  • أفضل إجابة

جرب هذا .....

    Dim rst As DAO.Recordset
    Dim biggest_Number As Long
    Dim i As Long
    Dim RC As Long
    
    biggest_Number = Len(DMax("[num]", "fnumber"))
    
    Set rst = CurrentDb.OpenRecordset("Select * From fnumber")
    
    rst.MoveLast: rst.MoveFirst
    
    RC = rst.RecordCount
    
    For i = 0 To RC - 1
        rst.Edit
            rst!num = 1 + i
        rst.Update
        rst.MoveNext
    Next i
    
    rst.Close: Set rst = Nothing
    
    MsgBox "Done"

 

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

17 دقائق مضت, Barna said:

جرب هذا .....

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

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

1 ساعه مضت, ازهر عبد العزيز said:

لا اريدة ان يعد على الارقام الموجودة في الجدول اريدة يعدل على الارقام الموجودة في النموذج الفرعي فقط

تفضل 

Dim rst As DAO.Recordset
Dim i As Long
Dim RC As Long

Set rst = Forms!fnumbermain!fnumbersub.Form.RecordsetClone

rst.MoveLast: rst.MoveFirst

RC = rst.RecordCount

For i = 0 To RC - 1
    rst.Edit
        rst!num = 1 + i
    rst.Update
    rst.MoveNext
Next i

rst.Close: Set rst = Nothing

MsgBox "Done"

 

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

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

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



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

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

Important Information