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

نجوم المشاركات

  1. kkhalifa1960

    kkhalifa1960

    الخبراء


    • نقاط

      4

    • Posts

      2506


  2. عبدالله بشير عبدالله
  3. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      2

    • Posts

      10044


  4. منتصر الانسي

    منتصر الانسي

    المشرفين السابقين


    • نقاط

      1

    • Posts

      1297


Popular Content

Showing content with the highest reputation on 04/26/26 in all areas

  1. تفضل استاذ @أحمد الشحات85 الشرح والمرفق بعد التعديل بطلبك . ووافني بالرد . Ahmed ElShahat_2.rar
    1 point
  2. تفضل استاذ @M.Abd Allah حسب مافهمت اليك الشرح والمرفق . ووافني بالرد . M.Abd Allah.rar
    1 point
  3. هذا الشيئ طبيعي فالبيانات تكون قليلة والأكواد مازالت في أول إصدار لها (أي أنها مثالية وفقاً للدراسة التي تمت عند التصميم) وهذا الشيئ أيضا طبيعي فأنت لا تقوم بأي عملية تطوير إلا لحل مشكلة طارئة أو تحسين وتبسيط للمهام بحسب طلب المستخدمين وأول ماستفكر به هو طالما وأن البرنامج يعمل بطريقة سليمة فسأبقي الوضع على ماهو عليه وسأقوم بإضافة بعض التعليمات البرمجية الجديدة التي من شأنها حل المشكلة التي طرأت أو تنفيذ التحسين المطلوب ولكنك وبدون أن تشعر تكون قد أضفت أعباء جديدة على البرنامج والتي تتراكم لتسبب بعض التأخير الذي يزداد مع زيادة حجم البيانات ليصبح التأخير مزعجاً. بالإضافة لما جاء ضمن رد الأخ @jjafferr فنصيحتي هنا أنه عند الوصول لهذه المرحلة فأن الأمر يتطلب منك مراجعة شاملة للبرنامج من حيث - إعادة بناء قاعدة البيانات بطريقة علمية سليمة وذلك لعدة أسباب منها - أن من ضمن الحلول التي كنت تضعها من المؤكد أنك قد تضطر لإجراء بعض التعديلات على الجداول - عند إنشاء البرنامج لأول مرة قد ترى أن هناك حقول لاتستدعي منك فصلها في جداول مستقلة ولكن مع تضخم البيانات فإن الأكواد التي تقوم بإسترجاع البيانات من هذه الحقول سيقل أداؤها لذلك سيكون من الافضل فصلها في جداول مستقلة وهذا ما سينتج عنه تسريع في الأداء - عدم التعامل مع بيانات الجدول مباشرة بل مع بيانات مفلترة منه (ماذا اقصد ؟) الان عندما تقوم بتحديد الجدول كاملاً كمصدر لبيانات النموذج او التقرير فإنه يتم تحميل جميع بياناته في كل مرة تقوم بفتح هذا النموذج او التقرير لذلك يفضل أن يتم فتح النموذج على بيانات محددة مثلاً نموذج المبيعات يفضل أن يرتبط ببيانات العام او الشهر الحالي فقط وهذا سيؤدي الى تحسن في سرعة الاداء تزداد ملاحظته مع زيادة حجم البيانات كذلك عمليات البحث كلما كانت عينة البحث اصغر كان البحث أسرع لذلك وعلى سبيل المثال عندما يكون لدينا كود يقوم باستخدام دوال تجميع المجال لإسترجاع بيانات من إستعلام يحتوي بيانات سنة مالية واحدة سيكون أداؤه اسرع من نفس الكود لو كان يبحث في الجدول ككل - تطبيق مفهوم الأرشفة مفهوم الارشفة يقوم على فصل البيانات التاريخية وإستبدالها بجداول تحتفظ ببيانات إحصائية للرجوع اليها في حال الاحتياج لها للتقارير طبعا هذا يعتمد على طريقة عمل كل شركة ورؤية المطور فإذا رأي المطور أن الاحتياج للبيانات التاريخية يقل للحد الادنى مع مرور الوقت فيمكنه اقتراح الفكرة لانشاء الية عمل تشبه آلية انشاء السنة المالية الجديدة حيث يتم فيها أرشفة البيانات التاريخية كل سنة بترحيل بيانات السنة السابقة الى قاعدة بيانات جديدة والاحتفاظ ببيانات احصائية منها (كآرصدة اول الفترة) وتصفية الجداول من جميع البيانات لتبدأ من الصفر للسنة المالية الجديدة بهذا سيظل البرنامج دائما خفيفا وسريعا - اعادة دراسة وتقييم التعليمات البرمجية من واقع تجربتي فإني أحياناُ كثيرة وأثناء مراجعتي لأكواد قديمة قمت بكتابنها في أكثر من تطبيق تكون ردة فعلي (بماذا كنت أفكر وقتها ؟؟؟) أو أضحك على بساطته وأعتقد أن الكثير منا مر بنفس التجربة وهذا شيئ طبيعي فمع مرور الوقت وتراكم الخبرة تجد أن ما كنت تعالجه بكود يحتوي عشرات الأسطر بإمكانك معالجته بكود لايتعدى العشرة أسطر كذلك الحال في الحالات التي ذكرتها في بداية كلامي فأنك قد تضطر إلى إضافة أكواد لحل مشاكل طارئة أو تبسيط مهام وتقضل إضافة الأكواد بدون مساس للاكواد الحالية وهذا قد يؤدي (وعن غير قصد) إلى مضاعفة العمل أو التعارض مع تعليمات برمجية قائمة وتحميلها بأعباء إضافية لم تنتبه لها في حينه أو إنتبهت لها ولكنك تجاهلتها إما لضيق الوقت أو لأثرها الغير ملحوظ وقتها على الاداء ومن خلال عملية إعادة دراسة وتقييم التعليمات البرمجية يمكنك إعادة كتابة التعليمات البرمجية التي يمكن إختصارها وتحسينها وهذا سيكون له الأثر الكبير في الأداء وعلى فكرة هذه العملية هي إجراء قياسي يقوم به جميع مطوري البرامج فدائماً ما يتم تنزيل تحديثات بسيطة لبرامج ويندوز تقوم بتصحيح أو إصلاح مشكلات بسيطة وفجأة نجد تحديث كبير ينتج عنه إصدار جديد كليا من البرنامج وغالبا مايكون بسبب تطوير شامل للبرنامج من حيث المظهر والوظائف تنويه - كل الملاحظات والنصائح المذكورة أعلاه هي مجرد تسليط للضوء على أهم أسباب تباطؤ تطبيقات أكسس (المرتبطة بالكائنات التابعة لأكسس) وطرق معالجتها وأريد على التأكيد على أنها لا تشمل كل الأسباب أو كل الحلول إنما هي أهم الأسباب والحلول (من وجهة نظري) يوجد أيضاً أسباب أخرى تكون مرتبطة بالشبكة والتي يكون حلها بأحد حلين (برمجي Software أو عتاد Hardware) - الحل البرمجي يقوم به المطور خصوصاً بتطبيق النصيحة الثانية المذكورة أعلاه (إستخدام البيانات المفلترة) فقد تكون المشكلة غير ملموسة عند العمل في الوضع العادي (قاعدة البيانات المحلية) ولكن يمكن أن تظهر عند العمل من خلال الشبكة لذلك سيكون من الأفضل تصفية البيانات التي يتم العمل معها إلى الحد الأدنى حتى لايتم تحميل الشبكة ببيانات إضافية لن يحتاجها المستخدم أثناء العمل. - الحل الثاني وهو مرتبط بالتجهيزات وخدمة الإتصال بالسيرفر وهذا الحل يجب أن يتم فيه إستشارة مهندسي الشبكات فهم من سيقدمون الحل الأفضل للمشكلة حيث سيكون لديهم الخبرة الكافية في أنواع التجهيزات الحديثة وأفضل أنواع الكابلات وأسرع خدمة إتصال يمكن الحصول عليها . الملاحظة التي يجب ذكرها أن الحل الثاني يعتمد إعتماداً كلياً على أداء التطبيق في الوضع العادي (قاعدة البيانات المحلية) فمن غير المعقول أن أبحث عن حل لمشكلة الشبكة والبرنامج أصلاً بطئ حتى بدون شبكة. في الأخير أرجو أن أكون قد قدمت فكرة بسيطة عن أهم مشاكل تباطؤ تطبيقات الأكسس
    1 point
  4. تم ارفاق المرفق في المشاركة الاولى للاخ احمد. المرفق من موضوع آخر للاخ احمد في مكتبة الموقع
    1 point
  5. السلام عليكم الصحيح اني فقط قرأت بسرعة وتذكرت اني نزلت من النت برنامج يخص هذا الموضوع ربما تستفيد من هذا البرنامج CarRental.rar
    1 point
  6. وعليكم السلام اخوي احمد رجاء قرأة هذا الرابط ، واستخدم الاداة اللي فيه ، فانا لا استغني عنه وبإستمرار خلال عمل اي برنامج ، وقبل ان اعطيه الزبون
    1 point
  7. ابشر لكن لديا مشروع لازم انجزه ومعلوماته برأسي لو تركته سيتركني وابدأ من جديد.
    1 point
  8. طريقة حفظ الملف بعد وضع الكود في الملف قم باغلاق الملف ستاتى رسالة كما بالصورة اخت اختر حفظ ستاتى رسالة اخرى كما بالصورة اختر لا ستفتح واجهة كما بالصورة قم بالاختيار حسب الصف المحدد ثم حفظ casse 2026 .xlsb
    1 point
  9. السلام عليكم ورحمة الله وبركاته بعد اذن استاذنا الفاضل عبدللرحيم طريقة ادخال النطاقات للكود Private Sub Worksheet_Change(ByVal Target As Range) Dim protectedRange As Range Set protectedRange = Union( _ Range("E10:I10"), _ Range("E13:I13"), _ Range("E20:I20"), _ Range("E27:I27"), _ Range("E33:I33"), _ Range("E46:I46"), _ Range("E56:I56"), _ Range("E59:I59"), _ Range("E62:I62"), _ Range("E68:I68") _ ) If Not Intersect(Target, protectedRange) Is Nothing Then Application.EnableEvents = False Application.Undo MsgBox "لا يمكن تعديل هذه الخلية، يرجى فك حماية الورقة للقيام بذلك" Application.EnableEvents = True End If End Sub
    1 point
  10. لايوجد تعب فهنا المتعة ... لانك باكتشافك للاخطاء فأنت الحين فاهم الموضوع كيف يسير ... وفقك الله . وانا حاضر ومتابعك .
    1 point
  11. السلام عليكم بعد اذن استاذنا ابو مروان اليك تعديل زر الترحيل باستخدام المصفوفات Sub AddEmployee() Dim ws1 As Worksheet, ws2 As Worksheet Dim nextRow As Long, i As Long Dim srcRange As Variant Set ws1 = ThisWorkbook.Sheets("Sheet1") Set ws2 = ThisWorkbook.Sheets("Sheet2") If ws1.Range("I9").Value = "" Then MsgBox "يرجى إدخال اسم الموظف!", vbExclamation, "تنبيه" Exit Sub End If nextRow = ws2.Cells(ws2.Rows.Count, "C").End(xlUp).Row + 1 srcRange = Array("I5", "I7", "I9", "I11", "I13", "L11", "L13", "I15", "L15", _ "L5", "L7", "L9", "I19", "L19", "I21", "L21", "I23", "L23", _ "I25", "L25", "I28", "L28", "L30", "I33", "L33", "I35", "L35", _ "I37", "I40", "L40", "I44", "L44", "I46", "L46", "I48", "L48", _ "I50", "L50", "I52", "L52", "L55") For i = LBound(srcRange) To UBound(srcRange) ws2.Cells(nextRow, i + 1).Value = ws1.Range(srcRange(i)).Value Next i MsgBox "تمت إضافة الموظف بنجاح!", vbInformation, "نجاح" End Sub بسم الله.xlsm
    1 point
  12. السلام عليكم .... طبعا النصيحة للمبتدئين امثالي سابقا عندما كنت اقراء مشاركات الاخوة الاعضاء واقراء اجوبة الاساتذة بخصوص مشاركاتهم بعد تقديم الحلول لهم احيانا يخبرون صاحب الاستفسار بان يتجنب كتابة الحقول باللغة العربية فاقول في ذهني وماذا لو كانت باللغة العربية اين المشكلة وقبل فترة كنت في صدد تصميم قاعدة بيانات باللغة العربية لاحد الاصدقاء فقمت بتجاهل نصائح الاساتذة وقمت بكتابة الحقول باللغة العربية وعند المضي بالتصميم عرفت فائدة التحذير فعند كتابة المعادلات او الاكواد لاتعرف اين تضع الماوس اذا اردت ان تمسح شئ ومع التحديد المصيبة اكبر وغيرها من المشاكل لذلك نصيحتي بعد التجربة اكتب الحقول باللغة الانكليزية ومن الحقل تسمية توضيحية في خصائص الجدول في خصائص الحقل اكتب التسمية التي تحتاجها باللغة العربية
    1 point
×
×
  • اضف...

Important Information