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

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

  1. Foksh

    Foksh

    الخبراء


    • نقاط

      8

    • Posts

      5037


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

    منتصر الانسي

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


    • نقاط

      7

    • Posts

      1425


  3. عبدالله بشير عبدالله
  4. Moosak

    Moosak

    أوفيسنا


    • نقاط

      3

    • Posts

      2400


Popular Content

Showing content with the highest reputation since 08/28/26 in all areas

  1. بالرغم من تجربتى للكود الاسماء تتغير ولا مشكلة تاكد من ان خيارات الحساب تلقائي وليس يدوي طباعة.xlsb
    3 points
  2. اعرض الملف أداة إنشاء مجموعات الخيارات المخصصة {سلسلة الأدوات المساعدة المخصصة} من منا لم يواجه عند تصميم تطبيق ما لحالات تتوقف على إستجابة المستخدم لتوجيه سير العمل بإتجاه مختلف عن الآخر وأغلب هذه الحالات نستخدم فيها مربع الحوار MsgBox فنطلب منه مثلاً الرد بنعم أو لا أو موافق أو إلغاء الأمر .... إلخ حسناً ماذا لو واجهت حالات تتطلب أكثر من ثلاثة خيارات مثلاً وأريد أن تكون هذه الخيارات مكتوبة بشكل صريح فسيكون من الصعب إستخدام MsgBox فنحن سنكون محكومين بمسميات الأزرار الإفتراضية والتي قد لا تعبر عن المطلوب بطريقة صحيحة صحيح أنه يمكننا إستخدام أداة مربع حوار المهام TaskDialog لنحصل على النتيجة المطلوبة وأحسن ولكن قد يرى البعض أنه ليس بحاجة لإستخدامها لأي سبب من الأسباب وسيفضل أن يقوم بإنشاء نموذج مخصص لهذه الحالة فقط ... حسناً وماذا إذا إحتاج إلى قائمة خيارات أخرى؟ عندها سيضطر إلى إنشاء نموذج ثاني وثالث ... وهكذا لكل ما سبق أقدم لكم اليوم أداة أعتبرها من الأدوات المثيرة للإعجاب وذلك لأنها رغم بساطتها إلا أنها تقدم خدمة لاغنى عنها بل وتوفر علينا الكثير من الوقت والجهد ولبساطتها لم أحتاج إلى كتابة أي تعليمات لشرح طريقة عملها فكل ماهو مطلوب هو تعبئة بعض مربعات النص فقط ويمكن مشاهدة النتيجة مباشرة وعند الإنتهاء يتم النقر على زر النسخ ولصق الكود في أي حدث تريد ... هذا كل شيء ماعليك إلى أن تكمل التعليمات البرمجية المترتبة على نتيجة التحديد وكما تعودنا ستجدون في المرفقات ملفي أكسس الأول بإسم القالب ويحتوي على نموذجين ووحدة نمطية والحقيقة أنك لست بحاجة إلا إلى نموذج واحد إلى جانب الوحدة النمطية في النسخ النهائية (وهما ماستجدونهما في النسخة التوضيحية) أما نموذج منشئ صيغة أمر الإستدعاء فلن تحتاجه إلا خلال التطوير وهنا يجب علي أن أتقدم بألشكر للأخ العزيز @Foksh والذي دائماً ما يتحفنا بهدايا تقدم في ظاهرها وظائف رئيسية وفي باطنها تقدم وظائف أخرى فرعية أو مخفية لاتقل في أهميتها عن الوظيفة الأساسية التي تقدمها الأداة ومن ضمن هذه الهدايا المخفية كانت وظيفة تحويل أي تطبيق إلى وظيفة إضافية Add-in لذا فقد قمت بإستخدام الكود الخاص به لمنح إمكانية حفظ الأداة كوظيفة إضافية ليمكن للجميع الإستفادة من الإداة في جميع تطبيقات أكسس دون الحاجة إلى إستيراد نموذج منشئ صيغة أمر الإستدعاء ملف أكسس الآخر فهو بإسم (النسخة التوضيحية) وستجدون فيه بعض الأمثلة لطريقة الإستفادة من الأداة (أحد الأمثلة أعتبره هدية بحد ذاته) ملاحظة مهمة : أرجو قراءة التعليقات المرفقة بالكود الخاص بكل زر أمر لكل مثال فستجدون فيها توضيح لكل إجراء في الأخير أرجو أن تنال الأداة إعجابكم وأن تجدو فيها الفائدة في أعمالكم وإذا كان لدى أي أحد أي إستفسار أو ملاحظة فلا يبخل علينا بها تحياتي صاحب الملف منتصر الانسي تمت الاضافه 09/01/26 الاقسام قسم الأكسيس  
    2 points
  3. السلام عليكم اساتذي الاعزاء .. ارجو ابداء ملاحظاتكم على تصميم واجهات برنامج ادارة معارض السيارات ..ليتسنى لي الاستفادة من ارائكم وتوجيهاتكم مع التقدير
    2 points
  4. 2 points
  5. وعليكم السلام ورحمة الله وبركاته .. رغم عدم قناعتي بهيكلة وتصميم الملف ، اعتقد أن ذهابك إلى جدول منفصل لعمليات البيع وجدول آخر منفصل لعميات الشراء ، أو جدول الحركات الموحد العام وهو جدول يعرض تفاصيل لجميع حركات المخزن ( بيع ، شراء ، مرتجع ، تحويل من إلى ... إلخ ) ، ولكن بحقول موحدة ( TransID , DocType , DocID , Item , Qty , Price , Discount ) ؛ حيث DocType كمثال ، سيحدد هل الحركة هي حركة بيع أم شراء ، وبذلك لا تحتاج لتكرار حقول sale_qty و buy_qty .... ولكن !! في فكرة التنفيذ على الزر ، استعمل الحدث التالي :- Private Sub Command160_Click() On Error GoTo ErrHandler If Me.NewRecord Or IsNull(Me.sale_id) Then MsgBox "يرجى تحديد فاتورة بيع أولاً", vbExclamation + vbMsgBoxRight, "" Exit Sub End If If Me.Dirty Then Me.Dirty = False Dim db As DAO.Database Dim rsBuy As DAO.Recordset Dim rsSaleDet As DAO.Recordset Dim rsBuyDet As DAO.Recordset Dim newBuyID As Long Set db = CurrentDb Set rsBuy = db.OpenRecordset("buy", dbOpenDynaset) rsBuy.AddNew rsBuy!reg_date = Me.reg_date rsBuy!code = Me.code rsBuy!explain = Me.explain rsBuy!discount = Me.discount rsBuy!note = Me.note rsBuy!saving = Me.saving newBuyID = rsBuy!buy_id rsBuy.Update rsBuy.Close Set rsBuy = Nothing Set rsSaleDet = db.OpenRecordset("SELECT * FROM details WHERE sale_id = " & Me.sale_id, dbOpenSnapshot) Set rsBuyDet = db.OpenRecordset("details", dbOpenDynaset) Do While Not rsSaleDet.EOF rsBuyDet.AddNew rsBuyDet!buy_id = newBuyID rsBuyDet!item = rsSaleDet!item rsBuyDet!buy_qty = rsSaleDet!sale_qty rsBuyDet!buy_price = rsSaleDet!sale_price rsBuyDet!buy_discount_percent = rsSaleDet!sale_discount_percent rsBuyDet!note = rsSaleDet!note rsBuyDet!m = rsSaleDet!m rsBuyDet!check = rsSaleDet!check rsBuyDet!serial = rsSaleDet!serial rsBuyDet.Update rsSaleDet.MoveNext Loop rsSaleDet.Close: Set rsSaleDet = Nothing rsBuyDet.Close: Set rsBuyDet = Nothing DoCmd.OpenForm "buy", acNormal, , "buy_id = " & newBuyID Exit Sub ErrHandler: MsgBox "حدث خطأ أثناء نسخ الفاتورة الحالية", vbCritical + vbMsgBoxRight, "" End Sub تفضل الملف المرفق :- yasser_10.zip
    2 points
  6. وعليكم السلام ورحمة الله وبركاته تم العاء AC3 وربط المعادلة بالخلية AC1 للقائمتين مع اضافة كود تلقائي لمسح احد القائمتين عند اختيار الاخرى __المقياس المتدرج 3456 الصفوف العليا2026 - نسخة.xlsb
    2 points
  7. أولاً شكراً لكم على التفاعل وعلى المقترحات التي قدمتموها وبالفعل هذه المقترحات في محلها وقد فكرت فيها شخصياً ولكن إسمحوا لي توضيح فكرتي في سبب عدم العمل بها سبب عدم إضافة هذه الأسطر كان بسبب إختلاف الصيغة بإختلاف الإجراء الذي سيتم بناءً على الخيار المحدد فمن خلال الأمثلة سنجد أنه مرة ظهر بالشكل الذي ذكرته في ردك وفي مكان آخر ظهر بهذا الشكل Call OpenCustomOptions("إختر الإدارة المطلوبة" _ , "الإدارة العامة" _ , "البحث والتطوير" _ , "الخدمات العامة" _ , "العمليات" _ , "المالية" _ , "المبيعات والتسويق" _ , "المشتريات" _ , "الموارد البشرية" _ , "تكنولوجيا المعلومات") DoCmd.OpenForm "frmEmployees", , , "EmpDepartment='" & strResult & "'" لاحظ أننا إكتفينا بأخذ القيمة النصية ووضعناها كمعيار تصفية مباشرة بدون إستخدام عبارة Select Case بالإضافة إلى ذلك في الحالات التي سيكون فيها خيارين فقط فقد يكون من الأفضل إستخدام عبارة IF بدلاً عن Select Case هذا من ناحية ومن ناحية أخرى فإن الأداة ترجع لنا قيمتين واحدة رقمية والأخرى نصية فإذا تم إضافة هذه الأسطر فهل يتم كتابتها بناء على القيم الرقمية أم النصية ؟ وكما تفضلت وذكرت في كلامك فإن تفضيلي عدم إضافة أسطر خاصة بعبارة Select Case حتى لا يظن المستخدم العادي بأنها إلزامية ويجب أن تكون بتلك الصيغة الحقيقة لا أخفيكم بأنه في البداية كان يتم إنشاء صيغة الكود لتكون بهذا الشكل Call OpenCustomOptions("حدد أحد الخيارات التالية" _ ,"الخيار الأول" _ ,"الخيار الثاني" _ ,"الخيار الثالث") 'intResult يمكن الحصول على رقم الخيار المحدد من خلال المتغير العام 'strResult ويمكن الحصول على نص الخيار المحدد من خلال المتغير العام 'يمكنك إستخدام أحدهما أو كلاهما بحيث تظهر هذه الثلاثة أسطر بعد صيغة الأمر وتراجعت عنها حتى لا يبقيها المستخدم العادي وكأنها جزء من الكود (يمكنكم الإطلاع على كود الحدث SetCode خلف النموذج frmCustomOptionsBuilder وستجدون أني قمت بتعليق الأسطر الثلاثة) بعد هذا التوضيح هل تعتقدون أن وجهة نظري كانت في محلها أم أني بالغت في الحذر ؟ فلو رأيتم أنه من الأفضل إضافة الأسطر الخاصة بعبارة Select Case فلا توجد مشكلة سأقوم بإضافتها فرأيكم سيكون هو الأفضل بالتأكيد وأنا كذلك كنت بصدد الرد ولكن بعد قرائتي لآخر سطر في ردك تراجعت عن الفكرة
    1 point
  8. بدايةً ، ما شاء الله على الأفكار الجميلات النيرات هذه أخي @منتصر الانسي عمل جميل ومفيد جداً ما تقدمت به ، ودائماً تتحفني بأفكارك التي أعتبرها هي الكون خارج الصندوق . خطر ببالي نقطة قد تكون ذات وضوح أكثر إن تمت . وهي :- في القالب والذي سيعتبر كأداة Adds-in مدمج ، عند انشاء الأكواد ونسخها ، تنتج بهذا الشكل كمثال :- Call OpenCustomOptions("خيارات المستخدم" _ , "الخيار الأول" _ , "الخيار الثاني" _ , "الخيار الثالث" _ , "الخيار الرابع") والمستخدم العادي - مع احترامي للجميع طبعاً - قد يضطر للرجوع الى أمثلة كي يتعرف على آلية ربط الحدث مع كل خيار تم انشاؤه . وهنا سيلاحظ أن الأحداث هي - كمثال مقتبس من ملفات المشروع :- Select Case intResult Case Is = 1 DoCmd.OpenForm "frm01" Case Is = 2 DoCmd.OpenForm "frm02" Case Is = 3 DoCmd.OpenForm "frm03" Case Is = 4 DoCmd.OpenForm "frm04" End Select فكانت فكرتي لك إن كانت ممكنة هي بإضافة التوضيح لكيفية الإستدعاء إلى الكود الذي يتم انشاؤه من الزر cmdCopy . أرجوأن أكون قد وُفقت في توضيح الفكرة التي تدور في رأسي .
    1 point
  9. نعم أخي منتصر ، في بالي عدة مواضع لاستخدام هذه الأداة في تطبيقاتي 🙂 .. هي أقرب للرسائل الخاصة بحيث يمكنك تخصيص الأزرار بشكل أوسع بدل الأزرار المحددة [نعم - لا - إلغاء الأمر] .. والأمثلة التي وضعتها أنت تفتح الكثير من الأفكار 😎👌
    1 point
  10. شكراً أستاذ موسى دائماً ترفع مغنوياتي أولاً بتثبيتك لكل أداة أقوم برفعها وثانياً لردودك التي تجعلني أطمئن بأنها تعمل بنجاح أتمنى أن تكون وجدت إستخداماتها ذات فائدة لإستخدامها ضمن تطبيقاتك
    1 point
  11. شكرا لك أخي منتصر 🙂 وهذه رائعة جديد من روائعك .. 👍 جربتها .. وما عندي أي ملاحظة .. عمل متقن ماشاء الله .. وفقك الله وأحسن الله إليك .. في ميزان حسناتك .. 🌹
    1 point
  12. شكرا لك أخي منتصر 🙂 وهذه رائعة جديد من روائعك .. 👍 جربتها .. وما عندي أي ملاحظة .. عمل متقن ماشاء الله .. وفقك الله وأحسن الله إليك .. في ميزان حسناتك .. 🌹
    1 point
  13. عندما تكون ملفات اكسس بالإمتداد mde أو accde فهذا يعني أنه قد تم تشفيرها وفقاً للبيئة التي تم تشفيرها فيها بالتالي إذا تم تشفيرها في بيئة 32 بت فلن تعمل إلا في بيئة 32 بت ونفس الشيئ لـ 64 بت . هذا يعتمد على نقطة مهمة هل التطبيق وهو بالإمتداد mdb أو accdb يعمل بدون مشاكل في كلا النواتين أم لا؟ فإذا كان يعمل بدون مشاكل فلن يكون هناك أي اكواد بحاجة للتعديل أما إذا كان يعمل في 32 بت ولم يعمل في 64 بت فغالباً ستكون المشكلة في دوال API وحل هذه المشكلة بسيط جدا إفتح محرر الأكواد ومن قائمة Debug --> Compile YourDatabaseName (طبعا سيظهر إسم التطبيق مكان الكلمة YourDatabaseName) وسيتوقف المؤشر عند أول دالة أو إجراء (وغالباً ستبدأ بالكلمة المفتاحية Declare وأحيانا قد تكون هذه الكلمة مسبوقة بكلمة Private أو Public) وسأوضح لك بمثال واقعي هذا المثال يحتوي على دالتين وإجراء API ستعمل في 32 بت فقط ولن تعمل في 64 بت Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long) Declare Function EnumFonts Lib "gdi32" Alias "EnumFontsA" (ByVal hDC As Long, ByVal lpsz As String, ByVal lpFontEnumProc As Long, ByVal lParam As Long) As Long Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long قمت بنسخها وذهبت لأداة الأخ موسى وقمت بالخطوات الموضحة بالأصفر تم تحديد خيار (توافق 32/64) ولصقت الكود الأصلي في الجزء الأيمن ثم النقر على زر (تشغيل المعالج) لتم تحويل الكود إلى هذا الشكل #If VBA7 Then Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long) Declare PtrSafe Function EnumFonts Lib "gdi32" Alias "EnumFontsA" (ByVal hDC As LongPtr, ByVal lpsz As String, ByVal lpFontEnumProc As LongPtr, ByVal lParam As LongPtr) As Long Declare PtrSafe Function GetDC Lib "user32" (ByVal hWnd As LongPtr) As LongPtr #Else Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long) Declare Function EnumFonts Lib "gdi32" Alias "EnumFontsA" (ByVal hDC As Long, ByVal lpsz As String, ByVal lpFontEnumProc As Long, ByVal lParam As Long) As Long Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long #End If نقوم بإستبدال الثلاثة أسطر الأصلية بهذه النتيجة وبهذا نكون قد حصلنا على كود متوافق مع النواتين قم بتكرار العملية إلى أن يصبح خيار Compile YourDatabaseName غير مفعل كما بالصورة وعندما تجد أن كلمة Compile مع إسم التطبيق أصبح كما بالصورة يكون تطبيقك أصبح جاهز للعمل على النواتين بدون أي مشاكل عندما أقول يعمل على النواتين أقصد وهو بالإمتداد mdb أو accdb أما إذا كان بالإمتداد mde أو accde فإن البيئة التي سيعمل فيها هي نفس البيئة التي تم تشفيره فيها أرجو أن يكون الشرح واضح وإذا كان هناك أي إستفسار آو توضيح فتفضل وأسأل تحياتي
    1 point
  14. نعم أخي الكريم .. يمكن تنفيذ الجزء الأكبر من هذا الحدث باستخدام استعلامات إلحاق ، وأعتقد أنه سيكون الحل الأسرع والأنظف من المرور على السجلات باستخدام Recordset .. لكن توجد نقطة مهمة جداً جداً في حالتك الحالية :- هنا لديك عمليتان منفصلتان :- إنشاء سجل جديد في جدول buy وذلك للحصول على buy_id جديد نسخ تفاصيل الفاتورة من جدول details وربطها بـ buy_id الجديد الذي تم انشاؤه لذلك يمكن تنفيذ العملية بثلاث خطوات. إولاً إنشاء سجل فاتورة جديدة ، ثم الحصول على رقم فاتورة الشراء الجديدة (buy_id) ، وأخيراً إلحاق تفاصيل فاتورة البيع إلى تفاصيل فاتورة الشراء الجديدة . ولكم من خلال الكود ستكون العملية أسهل مرة واحدة .
    1 point
  15. حتماً لن ينفعل ولا حل لأننا نجهل أسماء الحقول ولا بنية الاستعلامات أصلاً .. وبعد أن توضحت المشاكل التي في أساس عدم نجاح الفكرة .. الاستعلام Qry_All_Year ، يعتمد أساساً على الاستعلام MY_Bouns ، يعني لو استخدمنا الدالة Dlookup داخل الاستعلام فإنك ستدوووووووور في دوامة لها بداية ما لها نهاية حسب عدد السجلات 😁 وبالتالي التعديل الصحيح برأيي سيكون على استعلامك MY_Bouns سيكون :- SELECT Tbl_Days_Months.Months_Number, Tbl_Days_Months.Months_English, Qry_New_Request.Mon_Year, Count(Qry_New_Request.TCode) AS T_Count, [T_Count]*2 AS Projects, DLookUp("[S_Youssef]","Qry_All_Year", "[Code_Month]=" & [Months_Number]) AS يوسف FROM Tbl_Days_Months LEFT JOIN Qry_New_Request ON Tbl_Days_Months.Months_Number = Qry_New_Request.Code_Month GROUP BY Tbl_Days_Months.Months_Number, Tbl_Days_Months.Months_English, Qry_New_Request.Mon_Year ORDER BY Tbl_Days_Months.Months_Number; يعني بس اللي عملناه هو إعادة ترتيب الحسابات مرة أخرى ، بحيث لا يعتمد الاستعلام على نفسه بشكل غير مباشر .
    1 point
  16. مشاركة مع أستاذنا @منتصر الانسي .. على الأقل أخي @jo_2010 لو ارفقت الجداول والاستعلامين 😅 .. على العموم لدي سؤال ، هل الحقل Mon_Year في كلا الاستعلامين تاريخ ؟؟ إذا كان حقل تاريخ ، فجرب اضافة الجملة التالية في الاستعلام المطلوب الإضافة له :- يوسف: DLookUp("[يوسف]";"Qry_All_Year";"Month([Mon_Year])=" & [No_Month] & " AND Year([Mon_Year])=" & Year([Mon_Year])) أو كـ حل أبسط باستعمال رقم الشهر :- يوسف: DLookUp("[يوسف]";"Qry_All_Year";"[No_Month]=" & [No_Month]) جرب ، وتابع بالنتيجة معنا ..
    1 point
  17. اجعل مسميات مربعات النص بالعربي
    1 point
  18. أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. كمطورين لبرامج وقواعد بيانات آكسيس ، نعلم جميعاً أن أكبر تحدٍ يواجهنا بعد الانتهاء من برمجة أي مشروع هو مرحلة نشر البرنامج وتثبيته لدى العميل . وكثيراً ما نتفاجأ باتصالات وشكاوى متكررة من العملاء . أذكر منها :- ❌ الماكرو لا يعمل والأزرار لا تستجيب ، ( بسبب شريط الأمان الأصفر ) ❌ البرنامج تم حظره من الويندوز لأنه محمل من الإنترنت ، ( مشكلة الـ Unblock ) ❌ البرنامج بطيء أو يرفض تشغيل الأكواد من السيرفر المشترك ، ( Network Locations ) ❌ رسالة خطأ مفاجئة تقول: MaxLocksPerFile Exceeded عند ترحيل البيانات من هنا ، وُلدت فكرة هذه الأداة المتكاملة لتكون الحل الجذري والنهائي لكافة مشاكل الأمان ، والتوثيق ، وتهيئة بيئة التشغيل لأي مشروع آكسيس بضغطة زر واحدة . 🌟 فمن هي هذه اللأداة :- اسم الأداة :- مركز التوثيق وإدارة إعدادات الأمان في آكسيس - Access Security & Trust Center Manager التوافقية :- متوافقة مع كافة أنظمة ويندوز ( Windows 7 / 10 / 11 ) بنواتي ( 32-bit و 64-bit ) إصدارات أوفيس المدعومة :- تعمل بتوافقية تامة مع ( 2007, 2010, 2013, 2016, 2019, 2021, و Office 365 ) 🛠️ الميزات والوظائف الرئيسية للأداة :- 1️⃣ إدارة مركز التوثيق والأمان (Trust Center & Macros) توثيق مسار المشروع فوراً ، وإضافة مجلد البرنامج ومجلداته الفرعية إلى المواقع الموثوقة (Trusted Locations) تلقائياً تمكين الماكرو و ActiveX . بخيار للتحكم في تفعيل الماكرو وعناصر التحكم دون ظهور أي رسائل تحذير مزعجة للعميل إلغاء شرائط التحذير وإخفاء شريط الرسائل الأصفر عند فتح البرنامج 2️⃣ فك حظر الملفات المحملة تلقائياً (Unblock Files) فك حظر ملفات البرنامج المحملة عبر الإنترنت أو الواتساب أو الشبكة من خلال مسح القيود من الريجستري تلقائياً تعديل سياسة ويندوز لمرفقات الملفات (SaveZoneInformation) لمنع حظر الملفات مستقبلاً 3️⃣ دعم كامل لشبكات وسيرفرات الشركات (Network Readiness) تمكين مسارات الشبكة ( AllowNetworkLocations ) والسماح لآكسيس بتشغيل الأكواد والماكرو من السيرفرات ومحركات الأقراص المشتركة (\\Server\Share) إلغاء تحذيرات الروابط والمرفقات الخارجية ( DisableHyperlinkWarnings ) ، وفتح التقارير الخارجية كملفات الـ PDF أو الروابط بسلاسة وبدون رسائل التحذير الأمنية 4️⃣ تحسين محرك البيانات وإصلاح العرض الرسومي (Engine & Graphics) زيادة سعة أقفال السجلات ( MaxLocksPerFile = 500,000 ) وذلك لمنع انهيار الاستعلامات الضخمة وتضارب المستخدمين في الشبكة المحلية إصلاح وميض النماذج ( DisableHardwareAcceleration ) بتعطيل التسريع الرسومي لبطاقات الشاشة لمنع وميض النماذج أو اختفاء الأزرار 5️⃣ تخصيص بيئة و واجهة البرنامج (UI & Startup Options) قفل كواليس المشروع ( AllowSpecialKeys ) من خلال تعطيل المفاتيح الخاصة مثل (F11) لحماية جزء التنقل من عبث المستخدمين إلغاء رسائل التأكيد بتعطيل رسائل التأكيد عند الحذف ، التعديل ، واستعلامات الإجراءات التحكم بمظهر آكسيس وذلك من خلال إظهار أو إخفاء شريط الحالة السفلي الرمادي ، والكائنات المخفية ، وجداول النظام ، وسلوك مفتاح Enter ، وتعطيل شاشة ترحيب أوفيس للتشغيل المباشر 🚀 الميزة الجديدة والمطورة :- مشغل العميل التلقائي ( Client Launcher Generator ) تحتوي الأداة على زر تصدير مشغل الإعدادات ، والذي يقوم بإنشاء ملف باتش تنفيذي ( .bat ) يتميز بما يلي :- طلب صلاحية تشغيل المسؤول ذاتياً ( Self-Elevating UAC ) بمجرد فتحه ودون الحاجة لتشغيله كمسؤول Run As Administrator ذكاء التصدير بحد ذاته سيمكنك من تصدير ملف التشغيل والضبط لنفس قاعدة البيانات الحالية ، أو استعراض وتحديد أي قاعدة بيانات خارجية ( accdb أو accde ) لإنشاء المشغل الخاص بها في مجلدها مباشرة تجهيز الجهاز فوراً في لحظة واحدة بحيث يقوم المشغل بضبط كافة إعدادات الأمان في ريجستري العميل وفتح البرنامج مباشرة في ثوانٍ معدودة 🧹 الصيانة الذكية وضبط المصنع :- إزالة التوثيق لمجلد المشروع من خلال زر مخصص لإلغاء توثيق المجلد ومسح سجلات الملف من مسارات الريجستري لأوفيس بالكامل استعادة ضبط المصنع والإعدادات الإفتراضية ستجعل إمكانية استرجاع إعدادات الأمان الافتراضية الأصلية لبرنامج آكسيس أمر في غاية السهولة وفي لحظة واحدة 📥 كيفية الاستخدام :- استيراد النموذج Frm_SecuritySettings والوحدة النمطية Mod_Trust إلى مشروعك فتح النموذج لضبط الخيارات التي تناسبك ( الخيارات تقرأ حالتها اللحظية مباشرة وتتلون ديناميكياً حسب الحالة بالأبيض أو الأصفر ) الضغط على حفظ وتطبيق لتطبيقها فوراً على جهازك ، أو الضغط على تصدير المشغل لتوليد ملف التشغيل الجاهز للعملاء 📸 صورة لواجهة الأداة :- ملف الأداة مفتوح المصدر ، للتحميل :- Trust Center.zip
    1 point
  19. تحديث جديد ، وما تم فيه :- التعديل على سياسة إستعادة إعدادات آكسيس الإفتراضية ، بحيث تم منح المستخدم الصلاحية باستثناء مشاريع محددة - يحددها المستخدم - تم توثيق مساراتها في جهازه . وبالتالي لن يفقد التوثيق للمجلدات والإضطرار إلى إعادة توثيقها بشكل فردي ويدوي .. ملف تحديث الأداة الجديد ، مفتوح المصدر ، للتحميل :- Trust Center Update.zip
    1 point
  20. تم تعديل المرفق بحيث يتم تجميع عدد الأيام من حقل Mod2 في الإستعلام وتم إضافة دالة لتحويل عدد الأيام هذه إلى سنة - شهر - يوم تحياتي وحدة الاجازات السنوية.accdb
    1 point
  21. السلام عليكم الموقع التالي: https://www.msaccesstips.com/ فيه مجموعة مواضيع تخص تنصيب الذكاء الاصطناعي محليا على حاسبتك ، والمواصفات المطلوبة لعمل ai على حاسبتك ، ونوع ai المناسب ، ثم يتطرق في موضوع آخر الى عمل نموذج اكسس ليقوم بمحاكاة ai ، ويتطرق في موضوع ثالث لشرح JSON والتوكن والحرارة ضمن بيئة الاكسس ، ويوجد امثلة مرفقة مفتوحة المصدر. للعلم والاستفادة 🙂
    1 point
  22. تفضل الملف بعد التعديل . كان فيه أخطاء كثيرة جدا في ارتباط الخلايا في اليوزرفورم مكتب_المحامي للتعديل2.xlsm
    1 point
×
×
  • اضف...

Important Information