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

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


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

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

السلام عليكم 

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

numbers.accdb

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

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

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

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
رابط هذا التعليق
شارك

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

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

 

18 ساعات مضت, Barna said:

تفضل 

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

فاذا اردناء اعادة الترقيم في النموذج الفرعي وتجاوز الفراغات بعد حذف بعض السجلات مع بقاء الجدول بدون تعديل فيمكن استخدام جدول مؤقت

والعدد الكبير يقودنا الى سبب وضع هذه المداخلة

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

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

فيتطلب اما التعديل على الريجستري

او عمل كود ينفذ عند فتح القاعدة باستخدام مايكروا بدء التشغيل

او تنفيذ الامر من خلال الاشارة اليه  في رأس الكود الخاص باستاذنا البرناوي

ويكتفى الاخ شايب بماسبق

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

17 دقائق مضت, شايب said:

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

 

ما شاء الله ، معلومة قيمة وجديدة علي وأعتقد على الأغلبية أيضاً .. بارك الله فيك أستاذنا الشايب :fff:

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

  

47 دقائق مضت, شايب said:

الحقيقة ان الطريقة الاولى بالتعامل مع الجدول مباشرة

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

48 دقائق مضت, شايب said:

فيتطلب اما التعديل على الريجستري

انا دائما ( رأي شخصي ) اتردد في التعديل على الريجستري في برامجي .... هل هذا التردد في محله ؟ من وجهة نظر @شايب .... علما اني امتلك بفضل الله معلومات كافية حول ذلك ...

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

منذ ساعه, Foksh said:

ما شاء الله ، معلومة قيمة وجديدة علي وأعتقد على الأغلبية أيضاً .. بارك الله فيك أستاذنا الشايب :fff:

بعض مما عندكم 🌹

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

نا دائما ( رأي شخصي ) اتردد في التعديل على الريجستري في برامجي .... هل هذا التردد في محله ؟ من وجهة نظر @شايب ....

نعم في محلة لذا كان الاخ شايب عند الاضطرار يعمل التعديل عند فتح القاعدة ثم يعيد القيمة الافتراضية عند اغلاقها

طبعا التعديل والاعادة اما بملف دفعي او من خلال الكود وفي الحالتين بدون تدخل المستخدم

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

علما اني امتلك بفضل الله معلومات كافية حول ذلك ...

لاشك في ذلك استاذنا 🌹

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

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

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



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

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

Important Information