-
Posts
5133 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
259
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
وعليكم السلام ورحمة الله وبركاته .. رغم أن طبيعة الطلب غير مفهومة أخي الكريم !!! ولكن !! على العموم ، ومشاركة مع أخي الأستاذ @بن علية حاجي ، جرب هذه المعادلة في الورقة Sheet1 في الخلية I2 ، واسحب للنهاية حسب حاجتك للتطبيق على الكل :- =IFERROR(VLOOKUP(A2&"", source!$A:$D, 4, 0), VLOOKUP(A2*1, source!$A:$D, 4, 0)) السبب على الأغلب يكمن في قاعدة أساسية في إكسل تسمى اختلاف نوع البيانات - Data Type Mismatch أما اذا كان سؤالك ، كيف تعمل الدالة السابقة ؟ فهي تقوم بما يلي :- تبحث أولاً مع تحويل القيمة إلى نص في (A2&"") إذا لم تجدها ، تقوم تلقائياً بالبحث بعد تحويل القيمة إلى رقم (A2*1) تضمن لك الحصول على النتيجة الصحيحة في كلتا الحالتين على أي جهاز كمبيوتر أو إصدار إكسل جرب وأخبرنا بالنتيجة
-
العفو يا صديقي ...
-
وعليكم السلام ورحمة الله وبركاته .. جرب المعادلة التالية في الخلية N6 :- =IF(G6<50, "ضعيف", IF(G6<60, "دون المتوسط", IF(G6<75, "متوسط", IF(G6<90, "فوق المتوسط", IF(G6<=100, "كفؤ", "درجة غير صحيحة"))))) إذا لم تعمل معك ، فالسبب عادةً الفاصلة المنقوطة ، لذا جرب التالية إحتياطاً :- =IF(G6<50; "ضعيف"; IF(G6<60; "دون المتوسط"; IF(G6<75; "متوسط"; IF(G6<90; "فوق المتوسط"; IF(G6<=100; "كفؤ"; "درجة غير صحيحة")))))
-
تنسيق مسافات الكود من خلال أداة Smart Indenter فى Add-Ins
Foksh replied to أحمد العيسى's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. أبدعت بهذه المشاركة أخي أحمد ، وجزاكم الله خيراً لمشاركتكم الأداة مع أنها وكما أوضحتم بأنها 30 يوماً , ولكني سأنصحك بتجربة الأداة الأكثر تطوراً والمفتوحة المصدر حتى ، وبما أنك من المهتمين بهذه الأدوات الجميلة ، وهي أداة Rubberduck في هذه التفاصيل :- 1. تنسيق ومحاذاة الكود :- تقوم بإعادة محاذاة وتنسيق الكود بالكامل بضغطة زر واحدة ( للإجراء الحالي المحدد ، الموديول ، أو كامل المشروع ) . تحتوي على إعدادات متقدمة لتخصيص المسافات البادئة ، طريقة ترتيب الجمل الشرطية ، وسلوك الأقواس والتعليقات . 2. فحص وتدقيق الكود الذكي :- تحتوي الأداة على محلل ذكي يكتشف أكثر من 100 نوع من الأخطاء ونقاط الضعف البرمجية تلقائياً أثناء كتابة الكود ، مثل :- المتغيرات غير المستخدمة ( Unused Variables ) أو الأكواد الميتة ( Dead Code ) . المتغيرات التي لم يُحدد نوع بياناتها صراحة وتُركت كنوع Variant افتراضياً . غياب عبارة Option Explicit في الموديولات . نسيان إغلاق أو تفريغ كائنات الذاكرة ( Set rs = Nothing ) . توفر ميزة الإصلاح السريع ( Quick Fix ) لتصحيح المشكلة بنقرة واحدة دون كتابة يدوية . والعديد من المميزات التي قد تكتشفها عند مراجعتك هذا الرابط للتحميل والتفاصيل . -
أهلاً بعودتك أخي @kkhalifa1960 ، وحمداً لله على سلامتكم
-
وعليكم السلام ورحمة الله وبركاته .. إذا كان قارئ الـ NFC يعمل بوضع Keyboard Emulation ، أي أنه يرسل البيانات كما لو أنك كتبتها بلوحة المفاتيح ، فالإجابة هي نعم يمكن تنفيذ الفكرة دون الحاجة إلى مكتبات خارجية معقدة . وكأننا نتعامل مع قارئ الباركود أو الـ QR تماماً ؛ لأنني قد مررت بهذه التجربة مسبقاً . ابحث عن قارئ يدعم هذه المواصفات مجتمعة :- USB HID Keyboard Emulation . قراءة محتوى NDEF Text من البطاقة ، وليس UID فقط . إمكانية إرسال مفتاح Enter بعد القراءة . ليسهل عيك وضع الحدث داخل مربع نص كلمة المرور في الحدث بعد التحديث . بمعنى آخر ، هو القارئ الذي يعمل كلوحة مفاتيح افتراضية . وطبعاً ليست كل قارئات USB NFC من هذا النوع . اقرأ المقال التالي للتوضيح أكثر . أتمنى أن تكون الإجابة قد شملت ما تفكر به أخي الكريم .
-
العفو أخي الكريم .. على الرحب والسعة
-
بارك الله بكم أبا المعتصم على ما دعيتم ... ولكم الأجر والثواب إن شاء الله هو بعينه المنطق اللي انت بتتكلم عنه 😅 .. نعم هنا كان الهدف في الفكرة الأولى أن تقوم الأداة فعلاً بتقديم نسخة Accde ، واسترجاعها عند الحاجة لكثرة ما مررنا به من مشاكل وقعت أنا أولكم - أخوكم الصغير - بها سابقاً بأنني لم أجد نسخة العميل التي تم ارساله لها ولكن مفتوحة المصدر .. ولهذا توجهت لهذه الفكرة . فإن كان في خاطركم أفكار فلا أمانع أبداً أن أسمع أفكاركم ومقترحاتكم التطويرية .. الأمور الدقيقة هذه تلفت انتباهكم ، وفعلاً التسميات موجودة داخل مربعات النص اذا كانت فارغة ، ولكن بدون ليبلات 😁 يا عيني عليك .. بارك الله فيكم أخي احمد على مشاركتكم التجربة .. . سمعت صوتك وأنا أقرأ ردك هذا أخي منتصر 👀 .. مين قال هذا الكلام 😅 . على العكس يهمني رأيكم أخي منتصر
-
Version 1.5
48 تنزيل
أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. في هذا الموضوع ، وأعتقد أنه سيكون القبل الأخير لي في قسم الآكسيس . سنتحدث عن فكرة يحتاجها كل مطور يرغب بطوير مشاريعه وحفظها في ملف تنفيذي ولكن بطابع Accde . حيث أن الفكرة والتي قد سبق طرح موضوعها للنقاش في هذا الموضوع هنا ؛ لم تلق استجابةً كما كنت أتوقع ، إلا أنني سأشرح هنا وظيفة الأداة وفائدتها . شرح للفكرة وطريقة العمل قبل التجربة :- يأتي المطور على التعب في تصميم قاعدة بياناته لمشروع ما ، ويقوم بضبط جميع الخصائص والوظائف والأكواد والنماذج والتقارير .... إلخ بشكل جيد على أكمل وجه . فيتخبط بحائط اختلاف النواة والإصدار في بيئة عمل العميل . فهنا سيقوم بسلوك أحد المسلكين :- إجبار العميل على تثبيت نسخة أوفيس مطابقة للنسخة التي تم بناء المشروع عليها . إجبار نفسه على تثبيت نسخة أوفيس وفقاً لحكم العميل بأنه لا يرغب بتحديث نسخته التي نصبها وثبتها ويعمل بها في جهازه . هنا يأتي دوري بهذه الأداة . حيث كل ما عليك هو أن تقوم بضبط مشروعك كما تحب ( من إخفاء واجهة آكسيس ، إلغاء مفتاح الشيف .... إلخ ) وأن تتوقف عند النقطة التي ستقوم بها بحفظ مشروعك بصيغة ACCDE . يعني ادعس فرامل و وقف عزيزي المطور . فكل ما عليك هو أن :- تذهب إلى الأداة المرفقة . تختار منها قاعدة بياناتك الجاهزة . تحدد الأيقونة التي تريدها للإختصار الذي سيتم انشاؤه على سطح مكتب العميل . تحدد اسم الإختصار الذي سيتم انشاؤه على سطح المكتب . تحديد مسار إنشاء الملف الذي سترسله للعميل . ماذا يمكن للأداة أن تفعل ، وما الذي ستقدمه لك كمطور :- تتيح لك تثبيت قاعدة البيانات الخاصة بمشروعك في أي مجلد تحدده . تقوم تلقائياً بإنتاج ملف ACCDE متوافق مع نسخة إصدار أوفيس المثبت على جهاز العميل . تقوم بإنشاء اختصار وبالإسم الذي حددته ، على سطح المكتب . تمكنك الأداة من إدخال كلمة مرور خاصة بك ( وليس العميل ) من خلال النقر على زر المفتاح 🔑 الموجود بجانب زر الإغلاق ، لاستخراج قاعدة البيانات بصيغتها الأصلية ACCDB حتى لو بعد 20 عاماً . وهنا السر العجيب الذي ستستثمره بأنك لن تخسر نسخة العميل الخاصة به وبكامل إعداداته عند عودتك لإجراء تعديلات أو تحديثات أو تطويرات مستقبلاً على سطح مكتبك . ولاستخراج النسخة الأصلية من مشروعك ، فقط احذف المسار واكتب إشارة الهاشتاج # ثم كلمة المرور كما أدخلتها أخي المطور . وستلاحظ تغيير مسار سلوك مربع نص المسار إلى كلمة مرور غير معروضة . مثال توضيحي مصور :- لأي ملاحظة أو استفسار .. باب النقاش مفتوح 🤗 الأداة مبنية بلغة C# فقط . -
اعرض الملف ⭐ هدية ~ أداة الحازم في مثبت النواتين لآكسيس 32 و 64 - 2026 ⭐ أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. في هذا الموضوع ، وأعتقد أنه سيكون القبل الأخير لي في قسم الآكسيس . سنتحدث عن فكرة يحتاجها كل مطور يرغب بطوير مشاريعه وحفظها في ملف تنفيذي ولكن بطابع Accde . حيث أن الفكرة والتي قد سبق طرح موضوعها للنقاش في هذا الموضوع هنا ؛ لم تلق استجابةً كما كنت أتوقع ، إلا أنني سأشرح هنا وظيفة الأداة وفائدتها . شرح للفكرة وطريقة العمل قبل التجربة :- يأتي المطور على التعب في تصميم قاعدة بياناته لمشروع ما ، ويقوم بضبط جميع الخصائص والوظائف والأكواد والنماذج والتقارير .... إلخ بشكل جيد على أكمل وجه . فيتخبط بحائط اختلاف النواة والإصدار في بيئة عمل العميل . فهنا سيقوم بسلوك أحد المسلكين :- إجبار العميل على تثبيت نسخة أوفيس مطابقة للنسخة التي تم بناء المشروع عليها . إجبار نفسه على تثبيت نسخة أوفيس وفقاً لحكم العميل بأنه لا يرغب بتحديث نسخته التي نصبها وثبتها ويعمل بها في جهازه . هنا يأتي دوري بهذه الأداة . حيث كل ما عليك هو أن تقوم بضبط مشروعك كما تحب ( من إخفاء واجهة آكسيس ، إلغاء مفتاح الشيف .... إلخ ) وأن تتوقف عند النقطة التي ستقوم بها بحفظ مشروعك بصيغة ACCDE . يعني ادعس فرامل و وقف عزيزي المطور . فكل ما عليك هو أن :- تذهب إلى الأداة المرفقة . تختار منها قاعدة بياناتك الجاهزة . تحدد الأيقونة التي تريدها للإختصار الذي سيتم انشاؤه على سطح مكتب العميل . تحدد اسم الإختصار الذي سيتم انشاؤه على سطح المكتب . تحديد مسار إنشاء الملف الذي سترسله للعميل . ماذا يمكن للأداة أن تفعل ، وما الذي ستقدمه لك كمطور :- تتيح لك تثبيت قاعدة البيانات الخاصة بمشروعك في أي مجلد تحدده . تقوم تلقائياً بإنتاج ملف ACCDE متوافق مع نسخة إصدار أوفيس المثبت على جهاز العميل . تقوم بإنشاء اختصار وبالإسم الذي حددته ، على سطح المكتب . تمكنك الأداة من إدخال كلمة مرور خاصة بك ( وليس العميل ) من خلال النقر على زر المفتاح 🔑 الموجود بجانب زر الإغلاق ، لاستخراج قاعدة البيانات بصيغتها الأصلية ACCDB حتى لو بعد 20 عاماً . وهنا السر العجيب الذي ستستثمره بأنك لن تخسر نسخة العميل الخاصة به وبكامل إعداداته عند عودتك لإجراء تعديلات أو تحديثات أو تطويرات مستقبلاً على سطح مكتبك . مثال توضيحي مصور :- لأي ملاحظة أو استفسار .. باب النقاش مفتوح 🤗 الأداة مبنية بلغة C# فقط . صاحب الملف Foksh تمت الاضافه 10/08/26 الاقسام قسم الأكسيس
-
شكراً لك شهادتك التي أعتبرها وسام كبير بالنسبة لي .. هذه اعتقد باختلاف التعامل مع كل وظيفة . فمثلاً ازرار التنقل بين السجلات تعتمد العرض المباشر من الجدول . وأما من خلال زر الحفظ بهذه أمرها سهل واعتقد أنها لم تمر من تحتك . فهنا سيكون دور المطور استخدام صائد الأخطاء فقط لا غير . كمثال للنموذج مباشرةً :- Private Sub Form_Error(DataErr As Integer, Response As Integer) If DataErr = 3939 Then MsgBox "عذراً، هذا الجدول محمي ويمنع تعديل بياناته!", vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "منظومة الحصانة" Response = acDataErrContinue End If End Sub أو من خلال الزر مباشرة عند إجراء الحفظ ، على سبيل المثال :- Private Sub Btn_Save_Click() On Error GoTo ErrHandler DoCmd.RunCommand acCmdSaveRecord Exit Sub ErrHandler: If Err.Number = 3939 Or InStr(Err.Description, "9992") > 0 Then MsgBox "عذراً، هذا السجل محمي ضد التعديل!", vbExclamation + vbMsgBoxRight + vbMsgBoxRtlReading Else MsgBox "خطأ: " & Err.Description, vbCritical End If End Sub فعلاً الماكرو له أخطاء محددة بأرقام معينة يتعامل معها ، ويتعرف عليها .. لذا فالخطأ 3939 ليس من ضمن أرقام الأخطاء التي يتعامل معها ماكرو البيانات أو يفهمها . بل هي من ضمن خصائص ومستوى فهم الـ VBA نفسه ، وبالتالي سنعود إلى الأفكار التي تتعامل مع اصطياد رقم الخطأ وترجمته من خلال رسالة مباشرة . أما بخصوص مقترح الـ ListBoxes لنقل الحقول أو اختيار الجداول المتعدد ، فالفكرة استثنائية وبصرية غاية في الروعة والجمال ، وتسهل على من يفضل استخدام الماوس بدلاً من كتابة أسماء الجداول والحقول مفصولة بفواصل . وقد يكون لها نصيب في تحديث لاحق إن شاء الله . ولكن كان لتصميم النموذج بوضعه الحالي سلوك خاص ومميز عندي ولم أرغب في زيادة التعقيد في الأكواد 😅 . كل الشكر والتقدير لإثرائك الراقي ومشاركتك القيمة
- 9 replies
-
- 1
-
-
- حصن الجداول
- حماية
-
(و2 أكثر)
موسوم بكلمه :
-
وعليكم السلام ورحمة الله وبركاته .. طبعاً الكود لن يعمل لأن أسماء الحقول والشروط مختلفة عن مشروعك ومسميات عناصرك ومربعات النص والحقول .. جرب هذا الملف ، حيث استعملت مصدر التقرير نفسه ليعرض القيم ، ليصبح :- SELECT STUDENTS.STD_RELIGION, STUDENTS.STD_STUDENT_NAME, STUDENTS.STD_SEX, STUDENTS.CLASS, STUDENTS.CLASS_NO, DCount("*","STUDENTS","[CLASS]=" & STUDENTS.CLASS & " And [CLASS_NO]=" & STUDENTS.CLASS_NO & " And [STD_SEX]=1 And [STD_RELIGION]=1") AS Cnt_A, DCount("*","STUDENTS","[CLASS]=" & STUDENTS.CLASS & " And [CLASS_NO]=" & STUDENTS.CLASS_NO & " And [STD_SEX]=1 And [STD_RELIGION]=2") AS Cnt_AM, DCount("*","STUDENTS","[CLASS]=" & STUDENTS.CLASS & " And [CLASS_NO]=" & STUDENTS.CLASS_NO & " And [STD_SEX]=2 And [STD_RELIGION]=1") AS Cnt_B, DCount("*","STUDENTS","[CLASS]=" & STUDENTS.CLASS & " And [CLASS_NO]=" & STUDENTS.CLASS_NO & " And [STD_SEX]=2 And [STD_RELIGION]=2") AS Cnt_BM, DCount("*","STUDENTS","[CLASS]=" & STUDENTS.CLASS & " And [CLASS_NO]=" & STUDENTS.CLASS_NO) AS Cnt_Total FROM STUDENTS WHERE (((STUDENTS.CLASS)=[ادخل الصف])); قائمة الفصل 2027.zip
-
أيضاً ويمكن من خلال مربع نص غير منضم وأن تجعل مصدر بياناته :- =DCount("*","Tbl_student","gender=1 AND fsl_id=" & [txtFslId] & " AND alsaf_Id=" & [alsaf_Id])
-
تم تعديل الملف بإضافتين بسيطتين ، وتصحيح وظيفة موجودة مسبقاً :- إضافة ميزة الكشف عن حالة الجدول عن اختياره من قائمة الجداول . إضافة ميزة تطبيق الحماية أو حذفها عن جميع الجداول مع استثناء جداول محددة في سطر الإستدعاء . تصحيح وظيفة "تضمين التحقق من وجود الكائن" ، والتي تم تعديلها لتعمل فقط عند اختيار جداول محددة من القائمة المنسدلة .
- 9 replies
-
- 1
-
-
- حصن الجداول
- حماية
-
(و2 أكثر)
موسوم بكلمه :
-
اعرض الملف ⭐ هدية ~ أداة حماية الجداول وتحصينها في آكسيس 2026 ⭐ أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. في الموضوع الذي سبق وتم طرحه في هذا الموضوع ، كانت المشاركات بناءة لفتح باب الإبتكار والتطوير وخلق بيئة حماية وحصانة للجداول من خلال ضبط حماية السجلات وتحصينها داخل الجداول عن طريق ماكرو البيانات . والشكر موصول لأخي الأستاذ موسى @Moosak وأخي منتصر @منتصر الانسي ، لمشاركتهما الحديث والأفكار بخصوص هذا الموضوع . وبناءً على الفكرة العامة فقد توصلت وبحمد الله وفضله لفكرة تمكن المستخدم ( المطور عادةً أو صمم قاعدة البيانات ) من حماية الجداول والسجلات من الحذف أو التعديل المباشر على السجلات داخل الجداول . وبالتالي تطبيق حصانة كاملة على الجداول التي يحددها المستخدم . ميزات الأداة :- 1️⃣ تأتي الأداة بمديول واحد يمكن نسخه إلى أي قاعدة بيانات ، وإستدعاء دالة الحماية ، أو حذفها على أي جدول / جداول يختارها المستخدم . 2️⃣ واجهة تفاعلية تسمح لك كمستخدم بتطبيق واختيار نوع الوظيفة بسهولة تامة ، بدلاً من كتابة الإستدعاءات ، تسهيلاً لتطبيق الحماية أو حذفها . 3️⃣ تتعامل الأداة مع الجداول المحلية و الجداول المرتبطة بشكل منظم وديناميكي صامت جداً . 4️⃣ للأداة القدرة على التعامل مع استدعاءات الإستعلامات ( الإضافة ، التحديث والحذف ) بشكل صارم ومحكم التنفيذ . 5️⃣ أيضاً القدرة حتى مع التعامل مع استعلامات الـ SQL بذكاء خاص . 6️⃣ قدرة الأداة على تطبيق الحماية على جدول ( على سبيل المثال ) مع استثناء حقل أو حقول من الحماية . بحيث تستطيع من خلال أي نموذج التعديل على هذه الحقول داخل الجدول المحمي دون أي تعارض . 7️⃣ إمكانية تطبيق الحماية / حذفها لجداول محددة تختارها من خلال الإستدعاء مرة واحدة ، أو جميع الجداول في قاعدة بياناتك . 8️⃣ إتاحة الفرصة أيضاً لتطبيق الحماية أو حذفها على جداول قاعدة بيانات خارجية دون الحاجة إلى نقل المديول لقاعدة البيانات هذه ( التي اخترتها ) . 9️⃣ التعامل الذكي مع الجداول المرتبطة فقط بحمايتها أو إلغاء الحماية عنها ؛ وأن تستثني الجداول المحلية الغير مرتبطة . 🔟 التعامل مع مسار جداول قواعد البيانات المرتبطة دون الحاجة لإدخال المسار بشكل يدوي . 1️⃣1️⃣ التعامل بذكاء مع قواعد البيانات المرتبطة والمحمية بكلمة مرور . بحيث يتم التعرف واكتشاف كلمة المرور تلقائياً وتمريرها إلى الحماية أو الحذف دون الحاجة للتدخل اليدوي . 1️⃣2️⃣ قراءة جداول قاعدة البيانات الخارجية والتعامل معها مباشرة مع عرض جداولها داخل الأداة من داخل قاعدة بيانات مشروعك . وحتى حقول كل جدول في قاعدة البيانات تلك التي اخترتها . 1️⃣3️⃣ إمكانية تطبيق الحماية أو الحذف بشكل صامت أو إظهار رسالة تفاعلية بالنتيجة التوضيحية . 1️⃣4️⃣ رسائل أخطاء معربة بالكامل لجميع احتمالات رسائل الخطأ التي يمكن أن تظهر للمستخدم . 1️⃣5️⃣ تمكين المستخدم من نسخ سطر الإستدعاء ولصقه في أي وظيفة أو حدث يحتاجها لها . 1️⃣6️⃣ في المديول ، يوجد شرح مبسط لآلية الإستدعاءات التي يمكن للأداة تطبيقها وتقديمها لك من خلال واجهة النموذج المخصص للإستدعاءات . 1️⃣7️⃣ إتاحة الفرصة بتطبيق الحماية أو حذفها عن كافة الجداول ، مع استثناء جداول محددة . 1️⃣8️⃣ عرض حالة الجدول إن كان محمياً مسبقاً أو لا ، وحالة الحماية عند وجود حقول تم استثناؤها . 1️⃣9️⃣ تضمين التحقق من وجود الكائنات التي يتم استدعاء الحماية عليها من خلال كود VBA . كمثال :- ' التحقق من وجود الكائن قبل التنفيذ If DCount("*", "MSysObjects", "Name In ('Tbl_1', 'Tbl_2') And Type In (1, 4, 6)") = 2 Then Else MsgBox "أحد الكائنات المحددة [Tbl_1, Tbl_2] غير موجود في قاعدة البيانات!", vbExclamation End If صورة من واجهة الأداة :- ملف الأداة مفتوح المصدر صاحب الملف Foksh تمت الاضافه 10/07/26 الاقسام قسم الأكسيس
- 9 replies
-
- 4
-
-
- حصن الجداول
- حماية
-
(و2 أكثر)
موسوم بكلمه :
-
Version 1.0
42 تنزيل
أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. في الموضوع الذي سبق وتم طرحه في هذا الموضوع ، كانت المشاركات بناءة لفتح باب الإبتكار والتطوير وخلق بيئة حماية وحصانة للجداول من خلال ضبط حماية السجلات وتحصينها داخل الجداول عن طريق ماكرو البيانات . والشكر موصول لأخي الأستاذ موسى @Moosak وأخي منتصر @منتصر الانسي ، لمشاركتهما الحديث والأفكار بخصوص هذا الموضوع . وبناءً على الفكرة العامة فقد توصلت وبحمد الله وفضله لفكرة تمكن المستخدم ( المطور عادةً أو صمم قاعدة البيانات ) من حماية الجداول والسجلات من الحذف أو التعديل المباشر على السجلات داخل الجداول . وبالتالي تطبيق حصانة كاملة على الجداول التي يحددها المستخدم . ميزات الأداة :- 1️⃣ تأتي الأداة بمديول واحد يمكن نسخه إلى أي قاعدة بيانات ، وإستدعاء دالة الحماية ، أو حذفها على أي جدول / جداول يختارها المستخدم . 2️⃣ واجهة تفاعلية تسمح لك كمستخدم بتطبيق واختيار نوع الوظيفة بسهولة تامة ، بدلاً من كتابة الإستدعاءات ، تسهيلاً لتطبيق الحماية أو حذفها . 3️⃣ تتعامل الأداة مع الجداول المحلية و الجداول المرتبطة بشكل منظم وديناميكي صامت جداً . 4️⃣ للأداة القدرة على التعامل مع استدعاءات الإستعلامات ( الإضافة ، التحديث والحذف ) بشكل صارم ومحكم التنفيذ . 5️⃣ أيضاً القدرة حتى مع التعامل مع استعلامات الـ SQL بذكاء خاص . 6️⃣ قدرة الأداة على تطبيق الحماية على جدول ( على سبيل المثال ) مع استثناء حقل أو حقول من الحماية . بحيث تستطيع من خلال أي نموذج التعديل على هذه الحقول داخل الجدول المحمي دون أي تعارض . 7️⃣ إمكانية تطبيق الحماية / حذفها لجداول محددة تختارها من خلال الإستدعاء مرة واحدة ، أو جميع الجداول في قاعدة بياناتك . 8️⃣ إتاحة الفرصة أيضاً لتطبيق الحماية أو حذفها على جداول قاعدة بيانات خارجية دون الحاجة إلى نقل المديول لقاعدة البيانات هذه ( التي اخترتها ) . 9️⃣ التعامل الذكي مع الجداول المرتبطة فقط بحمايتها أو إلغاء الحماية عنها ؛ وأن تستثني الجداول المحلية الغير مرتبطة . 🔟 التعامل مع مسار جداول قواعد البيانات المرتبطة دون الحاجة لإدخال المسار بشكل يدوي . 1️⃣1️⃣ التعامل بذكاء مع قواعد البيانات المرتبطة والمحمية بكلمة مرور . بحيث يتم التعرف واكتشاف كلمة المرور تلقائياً وتمريرها إلى الحماية أو الحذف دون الحاجة للتدخل اليدوي . 1️⃣2️⃣ قراءة جداول قاعدة البيانات الخارجية والتعامل معها مباشرة مع عرض جداولها داخل الأداة من داخل قاعدة بيانات مشروعك . وحتى حقول كل جدول في قاعدة البيانات تلك التي اخترتها . 1️⃣3️⃣ إمكانية تطبيق الحماية أو الحذف بشكل صامت أو إظهار رسالة تفاعلية بالنتيجة التوضيحية . 1️⃣4️⃣ رسائل أخطاء معربة بالكامل لجميع احتمالات رسائل الخطأ التي يمكن أن تظهر للمستخدم . 1️⃣5️⃣ تمكين المستخدم من نسخ سطر الإستدعاء ولصقه في أي وظيفة أو حدث يحتاجها لها . 1️⃣6️⃣ في المديول ، يوجد شرح مبسط لآلية الإستدعاءات التي يمكن للأداة تطبيقها وتقديمها لك من خلال واجهة النموذج المخصص للإستدعاءات . 1️⃣7️⃣ إتاحة الفرصة بتطبيق الحماية أو حذفها عن كافة الجداول ، مع استثناء جداول محددة . 1️⃣8️⃣ عرض حالة الجدول إن كان محمياً مسبقاً أو لا ، وحالة الحماية عند وجود حقول تم استثناؤها . 1️⃣9️⃣ تضمين التحقق من وجود الكائنات التي يتم استدعاء الحماية عليها من خلال كود VBA . كمثال :- ' التحقق من وجود الكائن قبل التنفيذ If DCount("*", "MSysObjects", "Name In ('Tbl_1', 'Tbl_2') And Type In (1, 4, 6)") = 2 Then Else MsgBox "أحد الكائنات المحددة [Tbl_1, Tbl_2] غير موجود في قاعدة البيانات!", vbExclamation End If صورة من واجهة الأداة :- ملف الأداة مفتوح المصدر -
وعليكم السلام ورحمة الله وبركاته .. طلبك غير واضح أبداً أخي جيلاني 😇 .. يا ريت تدعم طلبك بتوضيح أكثر وحتى لو مدعوم بملف أو صورة على الأقل .
-
تصحيح تنسيق عملية حسابية لتصبح رقم عشرى بدل من رقم صجيج
Foksh replied to jo_2010's topic in قسم الأكسيس Access
اذهب الى عرض الجدول Tbl_Lab_Results بوضع التصميم ، واذهب الى الحقل HDL_Risk ، واجعل خاصية حجم الحقل = Single - مفرد ، والتنسيق = 0.00# أو Fixed - أعتقد ثابت ، واحذف القيمة 4.00 الحالية وجرب عدل في النموذج القيمة 211 .