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

كل الانشطه

هذه الصفحة تحدث تلقائياً

  1. الساعة الأخيرة
  2. السلام عليكم ورحمة الله وبركاته اسعد الله صباحكم استاذ الكود المستخدم داخل النموذج الرئيسي لادارة القوالب Option Compare Database Option Explicit '============================= ' إعدادات عامة '============================= Private Const TemplateFormPrefix As String = "frmTemplate" Private Const TemplateComboName As String = "cboFormsTemplateName" Private TemplateFormManager As String Private TemplateSnapshot As Object Private Sub Form_Load() TemplateFormManager = Me.Name FillTemplateCombo End Sub Private Sub FillTemplateCombo() Dim i As Long, ao As AccessObject, rs As String, ctl As Control Set ctl = Me.Controls(TemplateComboName) ctl.RowSourceType = "Value List": ctl.RowSource = "" For i = 0 To CurrentProject.AllForms.Count - 1 Set ao = CurrentProject.AllForms(i) If ao.Name Like TemplateFormPrefix & "*" And ao.Name <> TemplateFormManager Then rs = IIf(ctl.RowSource = "", ao.Name, ctl.RowSource & ";" & ao.Name) ctl.RowSource = rs End If Next i End Sub Private Sub cboFormsTemplateName_AfterUpdate() Dim cbo As Control Set cbo = Me.Controls(TemplateComboName) If IsNull(cbo.Value) Then Me.frmChild.SourceObject = "" Else Me.frmChild.SourceObject = cbo.Value End If Me.frmChild.Requery End Sub '============================= ' تعيين قالب النماذج الافتراضي '============================= Public Sub SetFormTemplateName(ByVal templateFormName As String) On Error GoTo ErrHandler Application.SetOption "Form Template", templateFormName Exit Sub ErrHandler: MsgBox "خطأ في تغيير Form Template: " & Err.Number & " - " & Err.Description, vbExclamation End Sub Private Sub cmdApplyTemplate_Click() Dim cbo As Control Set cbo = Me.Controls(TemplateComboName) If IsNull(cbo.Value) Then MsgBox "اختر قالب أولاً" Exit Sub End If SetFormTemplateName cbo.Value PropagateTemplate cbo.Value MsgBox "تم تطبيق القالب على جميع النماذج" End Sub '============================= ' دوال مساعدة عامة '============================= Private Function GetSectionIndex(sec As Integer) As Long GetSectionIndex = sec End Function Private Function GetControlTypeName(ctrlType As Integer) As String Select Case ctrlType Case acTextBox: GetControlTypeName = "TextBox" Case acLabel: GetControlTypeName = "Label" Case acComboBox: GetControlTypeName = "ComboBox" Case acCheckBox: GetControlTypeName = "CheckBox" Case acCommandButton: GetControlTypeName = "CommandButton" Case acOptionButton: GetControlTypeName = "OptionButton" Case acToggleButton: GetControlTypeName = "ToggleButton" Case acListBox: GetControlTypeName = "ListBox" Case acSubform: GetControlTypeName = "Subform" Case acTabCtl: GetControlTypeName = "TabControl" Case Else: GetControlTypeName = "Other" End Select End Function ' قائمة الخصائص المسموح نسخها لكل نوع كنترول Private Function GetAllowedProps(ctrlTypeName As String) As Variant Select Case ctrlTypeName Case "TextBox" GetAllowedProps = Array("BackColor", "ForeColor", "FontName", "FontSize", _ "FontWeight", "TextAlign", "BorderColor", "BorderStyle") Case "Label" GetAllowedProps = Array("BackColor", "ForeColor", "FontName", "FontSize", _ "FontWeight", "TextAlign", "BorderColor", "BorderStyle") Case "ComboBox" GetAllowedProps = Array("BackColor", "ForeColor", "FontName", "FontSize", _ "FontWeight", "BorderColor", "BorderStyle") Case "CheckBox", "OptionButton", "ToggleButton" GetAllowedProps = Array("BackColor", "ForeColor", "FontName", "FontSize", _ "FontWeight") Case "ListBox" GetAllowedProps = Array("BackColor", "ForeColor", "FontName", "FontSize", _ "FontWeight", "BorderColor", "BorderStyle") Case "CommandButton" GetAllowedProps = Array("BackColor", "ForeColor", "FontName", "FontSize", _ "FontWeight", "QuickStyle", "Shape", "BackShade", _ "BackTint", "Gradient", "Glow", "Shadow", "SoftEdges", _ "Width", "Height") Case "Subform" ' لا نقترب من مصدر الكائن أو روابط الحقول GetAllowedProps = Array("BackColor", "BorderColor", "BorderStyle", "SpecialEffect") Case Else GetAllowedProps = Array() ' لا نغيّر شيء End Select End Function '============================= '============================= ' التقاط خصائص القالب (Snapshot) Public Function GetTemplateSnapshot(frmName As String) As Object Dim snap As Object Dim f As Form, ctl As Control, p As Property Dim secIndex As Integer, s As Section Set snap = CreateObject("Scripting.Dictionary") snap.Add "Form", CreateObject("Scripting.Dictionary") snap.Add "Sections", CreateObject("Scripting.Dictionary") snap.Add "ControlStyles", CreateObject("Scripting.Dictionary") DoCmd.OpenForm frmName, acDesign, , , , acHidden Set f = Forms(frmName) ' خصائص النموذج For Each p In f.Properties On Error Resume Next snap("Form")(p.Name) = p.Value On Error GoTo 0 Next ' خصائص السيكشن For secIndex = 0 To 5 On Error Resume Next Set s = f.Section(secIndex) If Err.Number = 0 Then Dim secSnap As Object Set secSnap = CreateObject("Scripting.Dictionary") For Each p In s.Properties On Error Resume Next secSnap(p.Name) = p.Value On Error GoTo 0 Next snap("Sections").Add CStr(secIndex), secSnap End If Err.Clear Next ' أنماط الكنترولز لكل سيكشن/نوع (واحد قالب لكل نوع/سيكشن) Dim secKey As String, ctrlTypeName As String Dim secDict As Object, styleDict As Object Dim allowedProps As Variant, propName As Variant For Each ctl In f.Controls ctrlTypeName = GetControlTypeName(ctl.ControlType) allowedProps = GetAllowedProps(ctrlTypeName) If Not IsEmpty(allowedProps) Then secKey = CStr(GetSectionIndex(ctl.Section)) If Not snap("ControlStyles").Exists(secKey) Then Set secDict = CreateObject("Scripting.Dictionary") snap("ControlStyles").Add secKey, secDict Else Set secDict = snap("ControlStyles")(secKey) End If ' أول كنترول من هذا النوع/السيكشن يصبح Template If Not secDict.Exists(ctrlTypeName) Then Set styleDict = CreateObject("Scripting.Dictionary") For Each propName In allowedProps On Error Resume Next styleDict(propName) = ctl.Properties(propName) On Error GoTo 0 Next secDict.Add ctrlTypeName, styleDict End If End If Next DoCmd.Close acForm, frmName, acSaveNo Set GetTemplateSnapshot = snap End Function '============================= '============================= ' تطبيق Snapshot على نموذج واحد Public Sub ApplySnapshot(targetForm As String, snap As Object) Dim f As Form, ctl As Control Dim k As Variant, p As Variant Dim secIndex As Variant, sec As Section Dim secKey As String, ctrlTypeName As String Dim secDict As Object, styleDict As Object Dim allowedProps As Variant, propName As Variant DoCmd.OpenForm targetForm, acDesign, , , , acHidden Set f = Forms(targetForm) ' 1) خصائص النموذج For Each k In snap("Form").Keys On Error Resume Next f.Properties(k) = snap("Form")(k) On Error GoTo 0 Next ' 2) خصائص السيكشن For Each secIndex In snap("Sections").Keys On Error Resume Next Set sec = f.Section(CLng(secIndex)) If Err.Number = 0 Then For Each p In snap("Sections")(secIndex).Keys On Error Resume Next sec.Properties(p) = snap("Sections")(secIndex)(p) On Error GoTo 0 Next End If Err.Clear Next ' 3) أنماط الكنترولز For Each ctl In f.Controls ctrlTypeName = GetControlTypeName(ctl.ControlType) allowedProps = GetAllowedProps(ctrlTypeName) If Not IsEmpty(allowedProps) Then secKey = CStr(GetSectionIndex(ctl.Section)) If snap("ControlStyles").Exists(secKey) Then Set secDict = snap("ControlStyles")(secKey) If secDict.Exists(ctrlTypeName) Then Set styleDict = secDict(ctrlTypeName) ' تطبيق الخصائص المسموحة For Each propName In allowedProps If styleDict.Exists(propName) Then On Error Resume Next ctl.Properties(propName) = styleDict(propName) On Error GoTo 0 End If Next End If End If End If Next DoCmd.Close acForm, targetForm, acSaveYes End Sub '============================= '============================= ' تطبيق القالب على كل النماذج Public Sub PropagateTemplate(templateName As String) Dim ao As AccessObject Set TemplateSnapshot = GetTemplateSnapshot(templateName) For Each ao In CurrentProject.AllForms If Not ao.Name Like TemplateFormPrefix & "*" Then If ao.Name <> TemplateFormManager Then ApplySnapshot ao.Name, TemplateSnapshot Else End If Else End If Next End Sub '============================= اضف اى نماذج كقوالب افتراضية على ان تبدأ بـ : frmTemplate النموذج الرئيسي لادارة لاختيار وادارة القوالب : frmTemplateManager عند فتح النموذج سوف يتم جلب واحضار اى نماذج قوالب افتراضية يبدأ اسمها بـ : frmTemplate ويتم ملئ مربع التحرير والسرد بهذه الاسماء وظيفة مربع التحرير والسرد : استعراض القوالب بمجرد اختيار اى قالب يتم معاينته فى الرئيسية طيب فى حالة تحديد قالب باختيارة من مربع السرد بعد الضغط على زر امر التطبيق يتم تمرير اسم النموذج : الى الاعدادت ليتم تحديدة كقالب اساسى كما فى الصورة التالية وكذلك يتم عمل دوران على كل النماذج فى قاعدة البيانات لاستنساح حصائص النموذج الذى تم اختياره كقالب مفضل وتطبيق هذه الخصائص على جميع النماذج صورة من نمورج ادارة القوالب اتفضل المرفق استاذ Mont_FormsTemplatePart02.zip
  3. Today
  4. شكرا لك أخي الحبيب @ابو جودي ومنكم نستفيد 🙂🌹
  5. Yesterday
  6. اخواني أعضاء المنتدي الكرام بعد سلام الله عليكم ورحمة الله وبركاته عند ملف اكسيل به ثلاثة اعمدة عمود اسم التلميذ باللون الأصفر ويقابله عمود الرقم القومي لكل تلميذ باللون الأصفر عمود ثالث رقم قومي ( هو نفس الرقم القومي الملون بالاصفر ) من غير لون ولكن مبعثر محتاج استدعي اسم التلميذ لكل رقم قومي aly.xlsx
  7. جزاك الله خيراً ،،، حالياً أنا أعمل على الملف وتقريياً لي أكثر من 20 دقيقة والبرنامج لا يستجيب
  8. يصنع البشر ما يعجز عنه الاداوت التى هى من صنع البشر ففى النهاية البشر هم من صنع الله تعالى لا تترك الموضوع قبل تحمد الله و تقول سبحانك اللهم لا علم لنا الا ما علمتنا انك انت العليم الحكيم قال تعالى بسم الله الرحمن الرحيم {ولقد كرمنا بني آدم وحملناهم في البر والبحر ورزقناهم من الطيبات وفضلناهم على كثير ممن خلقنا تفضيلا} (الإسراء:70) {لقد خلقنا الإنسان في أحسن تقويم} (التين:4) صور التجربة بعد التصغير بعد عمل نقر الكليك الايمن من زر الماوس على ايقونة التطبيق واجهة التطبيق بعد الاستعادة سواء باختيار الامر استعادة من القائمة او من خلال النقر المفرد من زر الماوس الايسر واخيرا اثبات العمل من النواة x64 اتفضل المرفق systray Moosak.zip
  9. نعم أعرف ذلك لا استطيع للاسف لان اى اداة هى مجرد وفقط الة تقليد لغوي ليست مفسر كود بل مولد نصوص احتمالي وعليك ان تغذيها مسبقا بجميع الحالات وكل الاحتمالات ان استطعت حصرها الحل الوحيد : على المبرمج ومطور النظم ان يعلم نفسه دائما ويحدث معلوماته ويتعلم ان يفكر ويحول افكارة الى واقع ما يخص الكود من ناحية السياق البرمجى هو ما سوف يتعلمة المطور نظريا ويثقل به خبراته لنفسه وبنفسه عمليها وبناء عليه كلما زادت حصيلة معلوماته و كلما توسعت مداركة وافكاره يستطيع تحويل اى شئ من مجرد فكرة الى كواد و واقع ملموس لذلك أى اداة بدون علم بلا قيمة... نقطة ومن أول السطر
  10. موضوعاتك شيقة وغاية فى الروعة استاذ اتعلم منكم دائما كل الشكر والتقدير هل يمكن ان اساهم فى التطوير بعد اذن حضرتك
  11. شكراً اخي @Debug Ace على الكلام الجميل والشكور موصول للأخ @Moosak على كلامه وتثبيته للموضوع 🥰
  12. إذا أداتنا الجبارة ما أستطاعت تعملها .. فممكن تقترح لنا حلول أو أفكار لتطويرها علشان تقدر تركز عليها وهي تشتغل ؟ 🙂
  13. ما شاء الله تبارك الله .. فعلا كل مرة يفاجئنا الأكسس بمزايا جديدة 😃 شكرا لك أستاذنا @منتصر الانسي شرح مميز ومفصل 🌹
  14. دعنى انا اذكر او ابصرك بما تتجاهله متعمدا اوليست هذه الخيارات من صميم عمل هذه الاداة الجبارة ثم اين اجابتك على هذه النقاط تحديدا من واقع مرفقك الذى تم تعديلة من هذه الاداة الخرافية لم تجبنى عمدا ام تجاهلا ؟
  15. الاداة بوجه خاص فشلت فى تصحيح اى كواد تحويل اى كود وإلا فقط أعد المرفق محولا للعمل بتكامل مع الانوية المختلفة من واقع الاداة والتى من المفترض انها تقوم بهذا العمل اساسا دعك من الذهاب لاداوت خارجية لطلب بدء التصميم من البداية ما تزعل حالك والان صار الموضوع تحدى مع هذه الاداة خصيصا ولا نريد اى زيادات ولا كرم مبالغ فيه فقط يرجى تحقيق الهدف المنشود منها
  16. زبدة الموضوع كله يا سيدي الفاضل هو هذه الكلمتين اللي قلتهم أنت .. ☝ الأداة وللتذكير لها وظائف محددة وهو مقتصر عليها إلا إن وجدت زيادة عليها (فهي كرم منه) 😎🖐🏻️ .. وأذكرك مجددا بوظائف الأداة المحددة : وليس من بين الوظائف تصميم نظام كامل ومترابط ، إنما كل مرة تعطيه جزئية ليقوم بفحصها وتعديلها حسب الأوامر الموجة له .. وليس كذلك من وظائفه تشغيل الكود في بيئة الأكسس وأكتشاف النواقص لأنه غير معد لذلك أيضا .. أما إن كان الرهان متعلق بالذكاء الاصطناعي بشكل عام فهذا موضوع آخر ، ولك وجهة نظرك الخاصة
  17. بعد تجربة مرفقك على نظام ذو نواة x64 بعد اتمام عملية التصغير الى جوار الساعة وبعد محاولة استرجاع نافذة التطبيق واعادة تكبيرها وعندما يصدمك الواقع فى فشل الاستعادة توجه الى الـ Task manager وقم باغلاق تطبيق الاكسس قسرا لانه الان عالق فى الخلفية والقاعدة لا تزال مفتوحة
  18. انت متأكد انك قمت بتجربة المرفق بشكل جيد مش هتطرق لموضوع التصغير مع او بدون الاخفاء سأمر مرور الكرام على هذه الجزئية ولكن : هل تم التصغير بجوار ساعة النظام ؟ اعرف اجابتك بكل سرور سوف تكون نعم ولكنك لم تنتصر ! اعد استرجاع كامل التطبيق بأحد الطريقتين من جوار الساعة مرة أخرى 1- كليك يمين هل ظهرت معك قائمة ؟؟؟ 2- كليك يسار هل بهذه النقرة المفردة فقط عاد التطبيق مره أخرى وتم استرجاعة ؟ بكل اسف انا اقول لك لا ولو حاولت معه 100 ملوين محاولة مش محاولتين فقط لن يحل لك هذه المشاكل طبعا المشاكل هذه لنت تحدث مع اصدار نواة x32 لاننا اتفقنا ان الكود فى الاساس يعمل مع هذه النواة دوننا أى مشاكل تذكر ولكن تحدص هذه المشاكل مع النواة ذات الاصدار x64 منتظر ردك بخصوص هذه الجزئية ؟ اعد استرجاع كامل التطبيق بأحد الطريقتين من جوار الساعة مرة أخرى 1- كليك يمين هل ظهرت معك قائمة ؟؟؟ 2- كليك يسار هل بهذه النقرة المفردة فقط عاد التطبيق مره أخرى وتم استرجاعة ؟ والاهم من ذلك اعرض عليه الاكواد تباعا واخبرة ان يتعلم سياق الكود وسيناريو العمل واخبرة بعد ان فهمت السيناريو والسياق هل تستطيع عمل المشروع من البداية بدون تعديلات على القديم لتفادى اى مشاكل جرب وايضا فى انتظار ردك محلوظة أخيرة للتوضيح : الموضع ليس تحدى ولا فيه شئ يذكر من رائحة التحدى حتى لا انت الذكاء الاصطناعى ولا انا اتحداك ردى كان فقط نتيجة تجربة فى موضوع مطروح لا اكثر من ذلك ولا اقل وفى ردى قلت انها وجة نظرى القاصرة الموضوع فقط للوقوف على حقيقة واحدة ينكرها الكثيرون وهى : اداوت الذكاء الاصطناعى ليست محررات أو مفسرات أكواد بل هل مجرد وفقط مولدات نصوص احتمالية اداوت الذكاء الاصطناعى لا يتم الاعتماد عليها كليا على وجه العموم ولا يتم الوصول معها الى نتائج صحيحة فى كل الاوقات عند تعديل الاكواد حتى لو كانت الاكواد القديمة فعالة وتعمل بنجاح
  19. بما أنك تحديت 🙂 هذا هو الملف بعد تعديل دواله للتتوافق مع النواتين باستخدام أداتنا هذه فقط .. مع العلم وللأمانه العلمية : كانت في بعض الأحيان لا تضبط النتيجة من المحاولة الأولى وتنجح في المحاولة الثانية أو بعد أكثر من محاولة .. 🙂 ولكن بدون كثير تدخل .. فقط بتوجيه بسيط من نصف سطر ، والسبب هو أنه أحيانا يعيد تعريف بعض المتغيرات إذا وجدها غير معرفة وفي الواقع هي معرفة في موديول آخر .. فكنت أكتب له : لا تعد تعريف المتغيرات ولا تعد كتابة دوال API لأنها معرفة في موديول آخر . (فقط) systray.zip
  20. اعرض الملف أداة تعميم تنسيق النماذج والتقارير [الجزء الأول] {سلسلة الأدوات المساعدة المخصصة} الحقيقة أني أخذت الكثير من الوقت لإتخاذ القرار في طريقة عرض هذه الأداة ففي الأصل ماهي إلا خيار موجود ضمن خيارات الأكسس ولكنه خيار أكاد أجزم أن الكثير لايعلم عنه شيئاً وكل ماسأقوم به هو الإستفادة من هذا الخيار وتطويرة لإنشاء أداة تقوم بتعميم التنسيق على بقية النماذج وكما ذكرت فنظرا لأن هذا الخيار من الخيارات المهضوم حقها في الأكسس قررت أن أفصل الموضوع إلى مشاركتين الأولى لشرح الخيار وطريقة الإستفادة منه ومن خلال شرح هذا الخيار سنجد أنه سيتم تطبيق تنسيقات القالب على أي نموذج يتم إنشاؤه مع وجود القالب ولن تنعكس هذه التنسيقات على النماذج السابقة لذا ففي المشاركة الثانية سأقوم بالبناء على هذا الخيار لتطوير كود للقيام بتعميم التنسيقات الخاصة بالقالب على جميع النماذج حتى ولو تم إنشاؤها قبل إنشاء القالب مرفق لكم بهذا ملف مضغوط يحتوي على مستند وورد يحتوي على شرح لهذا الخيار وبعض التعليمات المفيدة الخاصة به وملف أكسس للتعرف على عمل الخيار وكما أنوه في كل مرة أرجو قراءة الشرح قبل فتح تطبيق أكسس حتى تتعرف بشكل أوضح على طريقة الإستفادة من خيار قوالب النماذج والتقارير تحياتي صاحب الملف منتصر الانسي تمت الاضافه 02/01/26 الاقسام قسم الأكسيس  
  21. Version 1.0.0

    7 تنزيل

    الحقيقة أني أخذت الكثير من الوقت لإتخاذ القرار في طريقة عرض هذه الأداة ففي الأصل ماهي إلا خيار موجود ضمن خيارات الأكسس ولكنه خيار أكاد أجزم أن الكثير لايعلم عنه شيئاً وكل ماسأقوم به هو الإستفادة من هذا الخيار وتطويرة لإنشاء أداة تقوم بتعميم التنسيق على بقية النماذج وكما ذكرت فنظرا لأن هذا الخيار من الخيارات المهضوم حقها في الأكسس قررت أن أفصل الموضوع إلى مشاركتين الأولى لشرح الخيار وطريقة الإستفادة منه ومن خلال شرح هذا الخيار سنجد أنه سيتم تطبيق تنسيقات القالب على أي نموذج يتم إنشاؤه مع وجود القالب ولن تنعكس هذه التنسيقات على النماذج السابقة لذا ففي المشاركة الثانية سأقوم بالبناء على هذا الخيار لتطوير كود للقيام بتعميم التنسيقات الخاصة بالقالب على جميع النماذج حتى ولو تم إنشاؤها قبل إنشاء القالب مرفق لكم بهذا ملف مضغوط يحتوي على مستند وورد يحتوي على شرح لهذا الخيار وبعض التعليمات المفيدة الخاصة به وملف أكسس للتعرف على عمل الخيار وكما أنوه في كل مرة أرجو قراءة الشرح قبل فتح تطبيق أكسس حتى تتعرف بشكل أوضح على طريقة الإستفادة من خيار قوالب النماذج والتقارير تحياتي
  22. رابط موضوع التحدي هنا .
  23. وبما ان لكل عضو عدد 3 محاولات انا سوف أكتفى بمحاولة أخرى جداول مصنع تقنى - 2.accdb
  24. حاولت بقدر المستطاع الموضوع صعب بدون اكواد جداول مصنع تقنى.accdb
  25. أهلاً بكم في انطلاقة سلسلتنا الجديدة "الفعاليات والتحديات الشهرية". في عالم قواعد البيانات ، المحترف الحقيقي ليس من يكتب مئات الأسطر من الأكواد ، بل هو "المعماري" الذي يبني قاعدة بيانات قوية ، ذكية ، وتحمي نفسها بنفسها ! تحدي اليوم سيعيدنا إلى الجذور ، إلى قوة محرك آكسيس الكامنة في جداوله . فهل أنت مستعد لخوض التجربة الأولى ؟؟ 📖 قصة التحدي :- طلب منك عزيزي المشارك ( مصنع تقني ) بناء نظام لإدارة شؤون الموظفين ، ولكن لديهم شروط صارمة جداً لمنع أي موظف مُدخِل بيانات من ارتكاب أخطاء . حيث أن الإدارة ترفض تماماً استخدام أكواد ( VBA ) ، وتريد أن تكون الحماية مزروعة ومتأصلة في قلب الجداول مباشرة ، لضمان أقصى درجات الأمان . 🛠️ المطلوب :- إنشاء جدول باسم tbl_Managers ، يحتوي على الحقول التالية :- اسم الموظف ( EmpName ) تاريخ الميلاد ( DOB ) تاريخ التعيين ( HireDate ) الدرجة الوظيفية ( JobGrade ) = (A أو B أو C) الراتب الأساسي ( Salary ) 🚫 شروط التحدي :- يجب عليك ضبط إعدادات الجدول (Property Sheet) ليقوم بالمهام التالية تلقائياً :- يُمنع الحفظ في حال مخالفة القوانين والأحكام ، حيث يُمنع تسجيل أي موظف عمره أقل من 18 عاماً ( بناءً على تاريخ ميلاده مقارنة بتاريخ اليوم ) . حماية التسلسل الزمني ، حيث يُمنع أن يكون تاريخ التعيين قبل تاريخ تأسيس المصنع ( 01/01/2020 ) . يُمنع أن يكون تاريخ التعيين في ( المستقبل ، أي بعد تاريخ اليوم الحالي ) . حماية هيكل الرواتب : يجب ربط الراتب بالدرجة الوظيفية كالتالي :- إذا كانت الدرجة A : الحد الأقصى للراتب هو 10,000 . إذا كانت الدرجة B : الحد الأقصى للراتب هو 7,000 . إذا كانت الدرجة C : الحد الأقصى للراتب هو 5,000 . الرسائل المخصصة ، بحيث عند وقوع أي خطأ ، يجب أن يظهر للمستخدم رسالة تنبيه واضحة باللغة العربية تشرح له سبب الرفض بالضبط . 🚫 قوانين المشاركة :- يُمنع منعاً باتاً استخدام أكواد VBA أو الـ Macros - الماكرو . الحل يجب أن يكمن في خصائص الجدول ( Table Properties ) فقط . ♻ كيف تشارك ؟ قم برفع ملف مرفق فقط . وتذكر أنك عزيزي المشارك تملك الحق في 3 محاولات لإجاباتك خلال التحدي الواحد فقط .
  26. دعوة لتجربة تعديل المرفق التالى من هذه الاداة او من غيرها او حتى اعادة التصميم من البداية بعيد عن هذه الافكار او الاكواد المستخدمة للعلم مصدر المثال : https://www.codekabinett.com/page.php?Theme=10&Lang=1#SystraySample systray.zip
  1. أظهر المزيد
×
×
  • اضف...

Important Information