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

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

قام بنشر

السلام عليكم 

في النموذج 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

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