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

Foksh

الخبراء
  • Posts

    5103
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    253

Foksh last won the day on سبتمبر 27

Foksh had the most liked content!

السمعه بالموقع

2965 Excellent

عن العضو Foksh

  • تاريخ الميلاد 07/02/1982

البيانات الشخصية

  • Gender (Ar)
    ذكر
  • Job Title
    فني صيانة موبايل وكمبيوتر
  • البلد
    الأردن ♥
  • الإهتمامات
    برمجة وصيانة الموبايل والكمبيوتر

اخر الزوار

13455 زياره للملف الشخصي
  1. بفضل الله سبحانه وتعالى ، ثم لك على هذه السهرة الجميلة والغنية وسماع صوتك .. قد أكملت سهرتي التي تكللت بالنجاح .. وقد كانت الثمرة في نهاية موسم الحصاد تتلخص بـ :- 1) ميزة الإستكشاف التلقائي لقواعد البيانات الخلفية ( Auto-Detect Back-End ) :- يكتشف مسار الـ Back-End واسم الجدول الأصلي آلياً من خاصية tdf.Connect 2) ميزة التعامل مع القواعد المحمية بكلمة مرور ( Password-Protected Back-Ends ) :- يستخرج كلمة المرور تلقائياً إن كانت محفوظة في نص الاتصال ( PWD=... ) أو يدعم تمرير كلمة المرور يدوياً عبر المعامل: DbPassword:="MyPass" 3) دعم العلاقات والتتالي ( Cascade Aware ) :- دالة بسيطة تكتشف الجداول التابعة المربوطة بتتالي الحذف ، بحيث تفك / تعيد حمايتها مع الجدول الرئيسي بلحظة واحدة . 4) عدم الحاجة لاستدعاء أيقاف الحماية ومن ثم تنفيذ أمر يستدعي استعلامات التحديث أو الحذف ، ومن ثم إعادة تفعيل الحماية . 5) دعم مرن لإضافة السجلات في الجداول من النماذج دون الحاجة الى الإستدعاءات السابقة في النقطة السابقة ( إيقاف / تشغيل الحماية ) . 6) ما زال قيد التطوير والتجارب ، هو إمكانية استثناء حقل أو حقول في جدول واحد من التحديث وأبقاء الحماية على بقية الحقول . 7) أيضاً ما زال قيد التطوير فكرة لتتعامل مع القواعد الخارجية ، بحيث يقوم المستخدم بتنفيذ الحماية أو حذفها لجدول محدد في قاعدة بيانات خارجية .
  2. وأنا قمت بحذفه احترازاً ، لا عليك 🤗 وهنا الموضوع توسع بشكل يفوق عقلي الصغير , ليتعامل مع القواعد المقسمة مثلاً .. أو التعامل مع الاستعلامات ( تحديث أو حذف ) .... إلخ
  3. هههههههههه ، تقريباً 😁 الشكر لله من قبل ومن بعد ، وفعلاً قطعة الصلصال هذه فتحت لي باب الأفكااااااار الغريبة التي تراودني . وقد أسعدت بلقاء صوتي جمعني مع أخي موسى وقد شاركني تجربة فريدة وجميلة جداً ، ولكن اتضح أنني أنا اللي كنت غائب في هذه الأيام . وخطر ببالي سؤال عند ملاحظتي لـ blnIsBlocked ، هل تم تعريف هذا المتغير ؟؟ والإجابة هنا لصاحب الفكرة طبعاً .. ويبقى سؤالي هو ، هل من الممكن تطبيق الحماية بحيث نسمح بالإضافة ولا نسمح بالتعديل أو الحذف من داخل الجداول مباشرة بدون الإضطرار لإيقاف وتشغيل الحماية في كل عملية حفظ من خلال النماذج ؟؟
  4. وحتى لا يتبادر إلى ذهن أي شخص فكرة أنني أملك الحل .. فقد يظن البعض أني أُمهد لموضوع جديد أو فكرة جديدة .😣. فوالله أني لم أتعثر حتى بطرف الخيط ، ولم أستدل إلى فكرة حتى لو لم تكن ناجحة 😇
  5. تتركني في أول الطريق ، وانت صاحب الكود وأدرى بخباياه 😥 ... بحاول ، وإن لم أخرج بنتيجة ، فنرجوا المساعدة ممن يجود علينا بكرمه
  6. العفو أخي وسام .. سرني مرورك .. وأهلاً وسهلاً بك معنا بأولى مشاركاتك .
  7. شكراً لك من القلب مهندسنا أبا المعتصم .. أمسكتني طرف الخيط بشكل محكم .. ولكن في تجربتك الجميلة والرائعة كانت النتيجة عند تجربة الإضافة والحفظ من داخل نموذج :- أي أنه حتى النموذج لم يستطع إضافة سجل 😥 . أيضاً لو كان لدي 25 جدول على سبيل المثال ، فهل سأضطر إلى كتابة كافة أسماء الجداول في مصفوفة الاستدعاء للحماية أو الحذف 😁 !!
  8. شكراً لاستجابتك مهندس محمد .. انا أريد منع التعديل على الجداول نفسها من داخل الجداول نفسها . يعني لو فتحت أي جدول وحاولت اعمل عليه تعديل أو حذف سجل ، يمنع التعديل أو الحذف منه . كمثال ، جرب تعدل على أي قيمة داخل الجدول أو حذف السجل في الملف التالي الذي تمت إضافة الحماية عليه يدوياً Test.accdb
  9. السلام عليكم ورحمة الله وبركاته .. في إحدى المواضيع التي تم طرحها في "الفعاليات والتحديات الشهرية" ، وتحديداً في التحدي الأول ، كان من أحد الحلول والأفكار المطروحة ؛ تطبيق ماكرو على مستوى الجدول لمنع التحديث والتعديل لأي قيمة داخل الجدول . لكن طبعاً كانت الفكرة قائمة على التنفيذ اليدوي من خلال إضافة ماكرو قبل التحديث للجدول من خصائص الجدول نفسه . الحاصل هنا أنني أريد تطبيق هذه الفكرة برمجياً ، وخصوصاً أن لدي ما يقارب الـ 25 جدول . والهدف هو منع الحقن الخارجي أو التلاعب بالجداول . وقد أرهقتني كثرة المحاولات ولم أصل إلى نتيجة حتمية برمجية صحيحة . حتى بمساعدة الذكاء الإصطناعي 😣 . وقد طرحت السؤال داخل مجموعتنا "مجتمع آكسيس جروب" في الواتس أب ، ولم ألقَ أي إجابة . أرجو المساعدة بتطبيق الفكرة برمجياً VBA بحيث أحدد اسم (الجدول / الجداول) التي أريد تطبيق حمايتها من التعديل لأي قيمة ، و الحذف لأي سجل . (كلاهما) بمعنى أوضح . أريد عند الدخول إلى جدول ومحاولة تعديل قيمة على أحد الحقول (وليس حقل محدد) لأي سجل أو محاولة حذف أي سجل ، أن يتم منعي بإظهار رسالة بأن "الجدول محمي من التعديل" ( للتعديل ) . أو "لا يمكنك حذف سجلات من هذا الجدول" ( للحذف ) . فهل هذا ممكن برمجياً ❓ أفيدوني أفادكم الله . وهذا ملف مرفق كمثال يحتوي جدول بحقول بسيطة وبه 3 سجلات عشوائية . TblMacroVBA.accdb
  10. شكراً لك هذا الإطراء أخي منتصر ، والحقيقة انك كنت الحافز بمتابعة الموضوع واستكمال هذه الإضافة البسيطة . ولكم النصيب الأكبر مما دعيتم أبا المعتصم .. فعلاً هناك الكثير من الأيقونات ، وقد قدرت تقريباً بـ 3500 ايقونة ، ولكن برأيك هل تصفح 3500 أو حتى 1000 أيقونة سيكون ممتعاً 😅 نعم صحيح ، حتى تتم المعاينة فيجب أن تكون القائمة قد تم إنشاؤها وإضافة محتوياتها .. كحال أن تقوم بتكبير حجم الخط ونوعه قبل أن تكتب فلن يظهر التنسيق والتأثير إلا بوجود نص ، وهنا الشيء ذاته 😊 .
  11. زر Create الأيقونات مفروزة امامك أخي أحمد ، والخيار الذي استخدمته ( اليدوي ) للذين يعرفون ما رقم الأيقونة التي يريدونها ، أو للتجربة 😅 ما فهمت !!!!! اي عبارة لا تتغير
  12. التحديث الجديد من أداة صانع القوائم المختصرة ، الإصدار الثالث ، ويشمل :- تمكين المستخدم من تعيين أيقونات الـ FaceID بطريقة عصرية وديناميكية . التمكين من استعادة أيقونة أمر الإفتراضية . التعامل الكامل مع جميع الإصدارات من 2003 - 365 طريقة الإستخدام :- أنشئ قائمتك المختصرة الجديدة . حدد اي خيار من القائمة ، وانقر زر الفيس 🙂 . تنقل بين التبويبات والتصنيفات ، واختر ايقونتك التي تريدها .. احفظ القائمة ، وجربها . الزر الذي يمثل أيقونة آكسيس هو زر استعادة الأيقونة الإفتراضية للزر المحدد من القائمة التي انشأتها . ملف التحديث مفتوح المصدر ، للإصدارات أحدث من 2003 :- Menu Builder V.3.zip الإصدار 2003 قريباً ، حال ضبطه 100%
  13. تحقيقاً لرغبة أخي @أحمد العيسى ، إضافة جديدة قريباً للأداة ، إختيار أيقونات مخصصة للأزرار داخل القوائم المختصرة .
  14. استبدل الدالة الكاملة السابقة ، بهذا التعديل :- Private Sub Worksheet_Change(ByVal Target As Range) Dim ws As Worksheet Dim lastRow As Long Dim cell As Range Dim pctCol As Range Dim pct As Double Dim grade As String Dim i As Long Set ws = Me lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row If lastRow < 2 Then Exit Sub Set pctCol = Intersect(Target, ws.Range("F2:F" & lastRow)) If Not pctCol Is Nothing Then On Error GoTo CleanUp Application.ScreenUpdating = False Application.EnableEvents = False For Each cell In pctCol If IsNumeric(cell.Value) And cell.Value <> "" Then pct = CDbl(cell.Value) Select Case pct Case Is >= 92.1: grade = "ممتاز مع المرتبة" Case Is >= 90.1: grade = "ممتاز" Case Is >= 85.1: grade = "جيد مع مرتبة الشرف" Case Is >= 75.1: grade = "جيد جدا" Case Is >= 65: grade = "جيد" Case Is >= 50: grade = "مقبول" Case Else: grade = "راسب" End Select ws.Cells(cell.Row, "E").Value = grade End If Next cell With ws.Sort .SortFields.Clear .SortFields.Add Key:=ws.Range("F2:F" & lastRow), _ SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal .SortFields.Add Key:=ws.Range("B2:B" & lastRow), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SetRange ws.Range("A1:M" & lastRow) .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .Apply End With For i = 2 To lastRow If ws.Cells(i, "B").Value <> "" Then ws.Cells(i, "A").Value = i - 1 End If Next i CleanUp: Application.EnableEvents = True Application.ScreenUpdating = True End If End Sub الملف بعد التعديل :- لابلبلبلبلبلب.xlsm
  15. مهو انا جاوبتك قبل ما ترد علي بهذه النقطة .. انقل الملف على الكمبيوتر وحدد وانقر Ctrl+T بس لمرة وحدة في حياتك 😅 . وبعدها رجعه على الموبايل .. وجرب 😇 . وعلى فكرة انا ما جربتها ، لكن هي كفكرة خطرت ببالي
×
×
  • اضف...

Important Information