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

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

قام بنشر

:biggrin2: اعادة الموضوع

 

صعب انه يفصل الموضوع فحذف :biggrin:

 

0-حتى لو كان مواصفات الكمبيوتر سيئه ورديئه يعمل بكفاءه من غير وميض وترميش عند تحريك للسجلات الكل Caption

مع الفلترة يمكن اسهل طريقة 

1- مع الفلترة عرض غير منضم بسيطه من غير

DOA , SQL ونوع Caption

2- اضافة آلية وهمية لسجلات 100000 الى تخلص من مساحة التخزين قاعدة ويمكن تغير عدد السجلات في الكود وتجربة

3- تحسين صندوق الرسائل دائما في الامام كل النوافذ

4- جعل الخلفية في الخلف لكل النوافذ ولكن ناقص 

===========( اصبحة النافذة مستقرة مع تضخم البيانات لا يأثر )

بناء مختلف فلتره رئيسي وفرعي Caption

تجربة لتحسين طريقة عرض السجلات من غير بطىء وتجنب اعادة التحميل الذي يؤثر عند قرب انتهاء مساحة تخزين قاعدة بيانات وتحميلات

ويوجد حلول اخرى :rol:

Function Run Update Link Map all In Folder(1):wink2:

9 hours ago, hanan_ms said:

 

  • Like 1
قام بنشر

:biggrin2: تحديث

1-  اضافة استخدام عجلة الماوس للتنقل بين السجلات

2-  اضافة فرز مع القائمة

====================( @منتصر الانسي  ❤️🌹

4 hours ago, منتصر الانسي said:

واجهتني مشكلة واحدة أنه عند إغلاق النماذج من علامة X تتبقى شاشة أكسس بدون أي مجال لإغلاقها إلا عن طريق Task Manager

نسيت الغاء زر الاغلاق (X)  

عند آخر نافذة كانت للتسجيل الدخول او واجهة الرئيسية الغاء زر الاغلاق

تم تصحيح مع رساله خاصة للاغلاق

تحميل المرفق

https://www.mediafire.com/file/mhpi70zw439r2ug/V_2_Speed_Read_db_Caption_Filter.rar/file

قام بنشر

:biggrin2: تحديث واستكمال 

 

@منتصر الانسي هل الامور تمام  ❤️🌹

 

1- اضافة تنظيف الذاكرة المؤقته مع اعادة الربط الآلي للجداول 

2- تعديل الاقلاع 

3- Form_Name.RowSource اضافة عدد عرض السجلات عن طريق :wink2:

( كود بسيط لتقيسم )

- عند التجرب اذا كان كامل من غير تقسيم سوف يكون بطىء في الاستجابه من 1 الى 300 الف سجل دفعه كاملة 

- عند التقسيم كل 100 الف سجل اسرع 

-  عند تقسيم 10 الف سجل سريع ومناسب وانظر الى السرعه عند الوصول الى 300 الف وحتى عند الوصول الى المليون او الملايين من السجلات Link db

ScrollBar ( 5 , 6 )  مع تحكم بالاداءة Size

4- اضافة عند نقر المزدوج للحقل تضاف الى حقل الفلترة + تصحيح فواصل السجلات 

...

تحميل المرفق 

https://www.mediafire.com/file/zggh0ntu04tkaxb/V_3_Speed_Read_db_Caption_Filter.rar/file

قام بنشر

:biggrin2: تحديث واستكمال 

 

1- تصحيح وجعل المجموعات مع مؤشر التنقل 

2- تصحيح الفلترة وتصفية :biggrin:

3- يجب تفريق الرامات عند اغلاق النافذة تم تصحيح والاضافة عند اغلاق

مع تحسينات الخفيفة 

 

تحميل المرفق 

https://www.mediafire.com/file/ygbvh7nazz2oqpz/V_3_7_Speed_Read_db_Caption_Filter.rar/file

قام بنشر

:biggrin2: تحديث واستكمال 

1- اضافة معايير البحث من 1 الى 5 لكل حقل بحث وقلترة 

2- اضافة خيار فقط نتائج البحث والاستعلام فلترة او عرض الكل بموجموعات في الكود بسيط فقط :biggrin:

3-تصحيح الفلترة وعرض الحقول المفلترة + بعض التصحيحات الثانية 😇

4- بعض تحسينات في الواجهة 

...

تحميل المرفق

https://www.mediafire.com/file/9jtu7ex6u7pshx2/V_4_Speed_Read_db_Caption_Filter.rar/file

قام بنشر

:biggrin2: استكمال 

1- اضافة فحص الاتباط

2- فحص وقياس عدد السجلات في الجداول المحلية والشبكة المحلية 

3- اضافة 10 جداول مع اضافة بيانات اكثر وهمية الى 1000000 مليون سجل وتقدر تعدل الى 20,000,0000 مليون

4- نافذة الانشاء الجداول والارتباط بحزمة 10 جداول

5- تشغيل وتقسيم والفلترة تم التصحيح 

6- اضافة سجلات بتسلسل مع تحديد معيار الحد الاقصى للسجلات لكل جدول مرتبط داخل الكود

==============

ناقصة فحص اذا الجدول مرتبط عند التنقل والاضافة بتحديث :biggrin:

تحميل المرفق

https://www.mediafire.com/file/umnrtj2n6yvijtc/200,000,000_Record_IN_One_Speed_Read_db_Caption_Filter.rar/file

يجب اختيار زر انشاء عشر جداول ثم زر الاتصال ثم زر اضافة بيانات وهمية ثم التشغيل😇

للتجرب الى تحديث التالي:wink2:

قام بنشر

:biggrin2: تحديث واستكمال

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

 

فقدمة لك الحل البديل بلا ترميش وميض والكل تنسيق شرطي مع سرعة التنقل 

1- اضافة عرض مباشر 10000 الف سجل سرعة مناسبة مقسم  ويعمل مع استعلام العادي ويمكنك التحكم بتعديل عدد السجلات داخل الكود

2- استعلام عادي لعرض التواريخ المنتهية ولم تنتهي في الموجموعات

3- بحث لكافة الجداول المرتبطة عن رقم فريد كرقم المدني القومي وملاحظة عند البحث ستجد عند جدول واحد لان البحث برقم ID متشابهة لجداول المرتبطه 

4- استخدام التنسيق الرشرطي Caption

5- اضافة فحص للجداول بتحديد من حقل قائمة جم يشيل 😇

6- مع بعض التصحيحات وتحسينات 

 

تحميل المرفق

https://www.mediafire.com/file/uoe599ymzy53g0p/Update_2Miluon_Record_IN_One_Speed_Read_db_Caption_Filter.rar/file

يجب اختيار زر انشاء عشر جداول ثم زر الاتصال ثم زر اضافة بيانات وهمية ثم التشغيل😇

للتجرب الى تحديث التالي مع المعالجة:wink2:

 

قام بنشر

:biggrin2: تحديث لتجربة معالجة 

'على سبيل المثال عند الكود او الدالة
Call OptimizeStart
{ Coding }};
Call OptimizeEnd

Option Compare Database
Option Explicit
Dim ixx As Integer, j As Integer, J1 As Integer

' تعريف المتغير العام لتخزين حالات الاتصال
Public GlobalSavedLinks As Collection
    ' تحرير الذاكرة باستخدام API
    Private Declare PtrSafe Sub EmptyWorkingSet Lib "psapi" (ByVal hProcess As LongPtr)

#If VBA7 And Win64 Then
    Private Declare PtrSafe Function GetCurrentProcess Lib "kernel32" () As LongPtr
    Private Declare PtrSafe Function SetProcessWorkingSetSize Lib "kernel32" (ByVal hProcess As LongPtr, ByVal dwMinimumWorkingSetSize As Long, ByVal dwMaximumWorkingSetSize As Long) As Long
#Else
    Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
    Private Declare Function SetProcessWorkingSetSize Lib "kernel32" (ByVal hProcess As Long, ByVal dwMinimumWorkingSetSize As Long, ByVal dwMaximumWorkingSetSize As Long) As Long
#End If
' في قسم التصريحات العامة للوحدة النمطية
#If VBA7 Then
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

Private Sub PauseForUIUpdate(Optional ms As Long = 50)
    DoEvents
    Sleep ms
    DoEvents
End Sub
Private Sub OptimizeStart()
    On Error Resume Next
    
    ' 1. إيقاف تحديثات واجهة المستخدم
    Application.Echo False
    DoCmd.Hourglass True  ' عرض مؤشر الانتظار
    
    ' 2. إيقاف التحذيرات والرسائل
    DoCmd.SetWarnings False
    
    ' 3. تحسين إعدادات العرض
    Application.SetOption "Show Status Bar", False
    Application.SetOption "Show Animations", False
    
    ' 4. تعطيل الأحداث المؤقتة للنموذج
   ' Me.Painting = False
  '  Me.FastLaserPrinting = True
  '  Me.ScrollBars = 0  ' تعطيل أشرطة التمرير مؤقتاً
    
    ' 5. تحرير الذاكرة
    Call ClearMemory
    
    ' 6. تعطيل تحديث الشاشة للنموذج
    Me.Repaint
End Sub

Private Sub OptimizeEnd()
    On Error Resume Next
    
    ' 1. إعادة تفعيل تحديثات واجهة المستخدم
    Application.Echo True
    DoCmd.Hourglass False
    
    ' 2. إعادة تفعيل التحذيرات
    DoCmd.SetWarnings True
    
    ' 3. استعادة إعدادات العرض
    Application.SetOption "Show Status Bar", True
    Application.SetOption "Show Animations", True
    
    ' 4. إعادة تفعيل خصائص النموذج
   ' Me.Painting = True
   ' Me.FastLaserPrinting = False
   ' Me.ScrollBars = 2  ' أشرطة التمرير الرأسية
    
    ' 5. تحديث النموذج
    Me.Refresh
    DoEvents
End Sub

Private Sub ClearMemory()
    On Error Resume Next
    ' طريقة بديلة لتحرير الذاكرة بدون استخدام API
    Dim db As DAO.Database
    Set db = CurrentDb
    
    ' تحرير ذاكرة الاستعلامات
    Dim qdf As DAO.QueryDef
    For Each qdf In db.QueryDefs
        qdf.Parameters.Refresh
    Next qdf
    
    ' إغلاق كائنات قاعدة البيانات
    Set qdf = Nothing
    Set db = Nothing
    
    ' تحرير ذاكرة النماذج المفتوحة
    Dim frm As Form
    For Each frm In Forms
        frm.Repaint
    Next frm
End Sub
' دالة مساعدة للتحقق من دعم الخاصية
Private Function IsPropertySupported(obj As Object, propName As String) As Boolean
    On Error Resume Next
    Dim testVal
    testVal = CallByName(obj, propName, VbGet)
    IsPropertySupported = (Err.Number = 0)
    Err.Clear
End Function
Private Sub ProcessInChunks()
    Dim i As Long
    Dim totalRecords As Long
    Dim chunkSize As Long
    
    totalRecords = 1000 ' عدد السجلات الكلي
    chunkSize = 100 ' حجم كل جزء
    
    Call OptimizeStart
    
    For i = 0 To totalRecords Step chunkSize
        ' معالجة جزء من البيانات
        ProcessChunk i, i + chunkSize
        
        ' تحديث الشاشة بين الحين والآخر
        If i Mod 200 = 0 Then
            Me.Repaint
            DoEvents
        End If
    Next i
    
    Call OptimizeEnd
End Sub
Sub ClearMemoryCache()
    ' محاولة لتحرير الذاكرة
    Dim i As Long
    For i = 1 To 100000
        ' عملية فارغة لتحفيز تنظيف الذاكرة
    Next i
    
    ' طريقة أخرى لتحرير الذاكرة
    #If VBA7 And Win64 Then
        Call SetProcessWorkingSetSize(GetCurrentProcess(), -1, -1)
    #Else
        Call SetProcessWorkingSetSize(GetCurrentProcess(), -1, -1)
    #End If
    End Sub

1- يجب وضع اختصار سطح المكتب ثم تنقل لاي مكان مع تحديد الخصائص الاختصار الثاني انزال النافذه 

2- استكمال انتقال بين القواعد واعادة قائمة المنسدلة .RowSouros 😇

3- والعملية بداية الكود ونهايتة تكون لاكود براميتر او لعدة عمليات استعلام وفلترة وتعديل احجام الادوات تستعمل او ان يكون اجراء المطول 

4- انظر لتجربة اسرع :biggrin:

تحميل المرفق 

https://www.mediafire.com/file/1n73xsnmz1l0yk8/Fix_Update_2_Miluon_Record_IN_One_Speed_Read_db_Caption_Filter.rar/file

يجب اختيار زر انشاء عشر جداول ثم زر الاتصال ثم زر اضافة بيانات وهمية ثم التشغيل😇

للتجرب الى تحديث التالي مع المعالجة:wink2:

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