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

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

قام بنشر

السلام عليكم ورحمة الله

لدي نموذج باسم   bers  به حقل باسم  fega

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

حيث ان فرز التسلسل مرتبط بالحقل fega حيث ان هذا الحقل به ارقام تسلسل الحقول 1 2 3 4   وهكذا

اريد كود vba يعمل باعادة الفرز تصاعديا من الاقدم الى الاحدث   او  كود vba يعمل باعادة الفرز تنازليا من الاحدث الى الاقدم

يعمل بشكل تلقائى عند اعادة فتح النموذج  او عند عمل refresh         ولا اريد استخدام زر الفرز الموجودة بالاعلى بشريط الادوات

ولكم منى بالغ التحية

قام بنشر

تفضل أخي @Abdelaziz Osman حسب مافهمت . عند فتح الفورم . اكتب الكود التالي .:fff:


    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    
    ' تحديد قاعدة البيانات الحالية
    Set db = CurrentDb()
    
    ' فتح نموذج "bers" كـ Recordset
    Set rs = db.OpenRecordset("bers", dbOpenDynaset)
    
    ' تطبيق الفرز التنازلي حسب الحقل "fega"
    rs.Sort = "fega DESC"
    
    ' تحديث النموذج لإظهار البيانات المفرزة
    Me.Requery
    
    ' تنظيف الذاكرة
    rs.Close
    Set rs = Nothing
    Set db = Nothing

 

قام بنشر
منذ ساعه, kkhalifa1960 said:

تفضل أخي @Abdelaziz Osman حسب مافهمت . عند فتح الفورم . اكتب الكود التالي .:fff:


    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    
    ' تحديد قاعدة البيانات الحالية
    Set db = CurrentDb()
    
    ' فتح نموذج "bers" كـ Recordset
    Set rs = db.OpenRecordset("bers", dbOpenDynaset)
    
    ' تطبيق الفرز التنازلي حسب الحقل "fega"
    rs.Sort = "fega DESC"
    
    ' تحديث النموذج لإظهار البيانات المفرزة
    Me.Requery
    
    ' تنظيف الذاكرة
    rs.Close
    Set rs = Nothing
    Set db = Nothing

 

وماذا بخصوص الفرز التصاعدى

قام بنشر
1 ساعه مضت, kkhalifa1960 said:

تفضل أخي @Abdelaziz Osman حسب مافهمت . عند فتح الفورم . اكتب الكود التالي .:fff:


    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    
    ' تحديد قاعدة البيانات الحالية
    Set db = CurrentDb()
    
    ' فتح نموذج "bers" كـ Recordset
    Set rs = db.OpenRecordset("bers", dbOpenDynaset)
    
    ' تطبيق الفرز التنازلي حسب الحقل "fega"
    rs.Sort = "fega DESC"
    
    ' تحديث النموذج لإظهار البيانات المفرزة
    Me.Requery
    
    ' تنظيف الذاكرة
    rs.Close
    Set rs = Nothing
    Set db = Nothing

 

الكود لم يستجيب  يرجى التكرم تحميل النموذج واختبار الكود

sorting.accdb

قام بنشر

مشاركة مع الأستاذ خليفة ,,

جرب فكرتي :-

Help.png.fbaa84c3c0fadadc1c70d0987848b02f.png

[fega] DESC

للترتيب من الأحدث إلى الأقدم حسب الحقل Fega

وللترتيب من الأقدم إلى الأحدث :-

[fega] ASC

 

قام بنشر
1 ساعه مضت, Foksh said:

مشاركة مع الأستاذ خليفة ,,

جرب فكرتي :-

Help.png.fbaa84c3c0fadadc1c70d0987848b02f.png

[fega] DESC

للترتيب من الأحدث إلى الأقدم حسب الحقل Fega

وللترتيب من الأقدم إلى الأحدث :-

[fega] ASC

 

هذه هى فكرة الفرز داخل النموذج تتغير بتغير الامر من خلال شريط الادوات

اريد شئ ثابت يعيد الترتيب تلقائى بعد اعادة التشغيل او عمل refresh

قام بنشر
13 دقائق مضت, Abdelaziz Osman said:

اريد شئ ثابت يعيد الترتيب تلقائى بعد اعادة التشغيل او عمل refresh

لا اعلم ما هي الفكرة التي تدور في مخيلتك . ولكن لدي توضيحان ..

1. الفرز سيكون إما من خلال تغيير مصدر سجلات النموذج وتضع الفرز حسب ما تريد من داخل استعلام مصدر السجلات للنموذج .
2. استخدام الفكرة التي وضحتها لك ولن تحتاج لأكواد داخل اي حدث .. ولن تتغير ما لم تقم بتغييرها من داخل التصميم .

  • تمت الإجابة
قام بنشر
20 دقائق مضت, Abdelaziz Osman said:

هذه هى فكرة الفرز داخل النموذج تتغير بتغير الامر من خلال شريط الادوات

اريد شئ ثابت يعيد الترتيب تلقائى بعد اعادة التشغيل او عمل refresh

جرب هذا ....

Private Sub Form_Open(Cancel As Integer)
    Me.OrderBy = "fega ASC" ' للفرز تصاعديًا
    Me.OrderByOn = True
End Sub

Private Sub Form_Current()
    Me.OrderBy = "fega ASC" ' للفرز تصاعديًا
    Me.OrderByOn = True
End Sub

 

  • Like 2
  • Thanks 1
قام بنشر
43 دقائق مضت, ناقل said:

جرب هذا ....

Private Sub Form_Open(Cancel As Integer)
    Me.OrderBy = "fega ASC" ' للفرز تصاعديًا
    Me.OrderByOn = True
End Sub

Private Sub Form_Current()
    Me.OrderBy = "fega ASC" ' للفرز تصاعديًا
    Me.OrderByOn = True
End Sub

 

ممتاز سيدى  اشكرك  كثيرا  

  • 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