بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation since 09/03/26 in مشاركات
-
اعرض الملف ⭐ هدية ~ الحل المتكامل لتحزيم وتوزيع تطبيقات أكسس كملف تنفيذي احترافي 2026 ⭐ أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. كثيراً ما يقضي مطور ومبرمج قواعد بيانات أكسس أياماً وليالي في تصميم وبرمجة نظامه بأعلى درجات الإتقان والإحترافية ، ولكن عند وصول لحظة تسليم البرنامج للعميل تبدأ التحديات الحقيقية 😵 ، والتي ألخصها بما يلي :- كيف أمنع العميل من العبث بالتصميم وكود الـ VBA ؟ كيف أتخلص من رسائل الأمان المزعجة ؟ كيف أقوم بتثبيت الخطوط الخاصة وتجهيز المرفقات وملفات الـ Back-End بسلاسة ؟ كيف أُقدّم البرنامج للعميل في صورة ملف تثبيت احترافي ( Setup.exe ) وبأيقونة مخصصة ؟ من هذا المنطلق ، وخدمة لإخواني المطورين وصانعي تطبيقات الآكسيس ، يسعدني أن أضع بين أيديكم اليوم أداة :- معالج ومنشئ حزم تثبيت أكسيس الذكي - Access Smart Packager & Setup Builder وهي أداة متطورة تم بناؤها من داخل أكسس نفسه باستخدام نسخة محمولة من Inno ، لتتولى أتمتة عملية التحزيم والتوزيع بالكامل بنقرة زر واحدة ودون أي تعقيد . 🛠️ الميزات والوظائف الرئيسية للأداة :- 1️⃣ التحويل التلقائي الذكي إلى ( ACCDE / MDE ) ، وهنا يلعب الدور إصدار آكسيس الذي تم تشغيل الأداة من خلاله . تحويل فوري ومحمي لقاعدة البيانات بنقرة واحدة لحماية أكواد الـ VBA . فحص وتشخيص ذكي للأخطاء . الأداة لا تكتفي بإظهار رسائل خطأ غامضة ؛ بل تفحص تلقائياً ( صيغة الملف ، القفل والتزامن ، المراجع البرمجية المفقودة بالاسم ، وأخطاء التجميع ... إلخ ) لتخبرك بالسبب الدقيق وحله فوراً . 2️⃣ الأمان وحماية البرنامج :- تعطيل المفتاح الخاصة وخصوصاً مفتاح الـ Shift . حيث تقوم بقفل تشغيل البرنامج بزر Shift وأي مفاتيح خاصة ، لمنع الدخول للنوافذ الخلفية أو نافذة التنقل أو محرر الأكواد . إضافة المواقع الموثوقة ( Trusted Locations ) ؛ فتقوم بتسجيل مسار البرنامج تلقائياً في سجل الويندوز (داخل الـ Registry ) لتعمل الماكرو وأكواد VBA بدون أي تحذيرات أمان. حماية التثبيت بكلمة مرور . وهذه تتيح إمكانية تشفير ملف التثبيت وحمايته بكلمة سر تمنع غير المصرح لهم من تنصيبه . 3️⃣ المعمارية المزدوجة وفصل البيانات ( Front-End و Back-End ) :- دعم كامل للأنظمة المقسمة ؛ بحيث يمكنك تحديد مسار تثبيت مختلف ومستقل لملف البيانات (Back-End) عن ملف الواجهة . دعم تضمين مجلدات وملفات إضافية غير محدودة (مستندات ، صور ، أدلة تشغيل ... إلخ ) . 4️⃣ دعم الأجهزة غير المزودة بأوفيس ( Access Runtime ) :- إمكانية تضمين حزمة التثبيت الخاصة بـ Microsoft Access Runtime ليعمل برنامجك على أي جهاز عميل لا يملك نسخة أوفيس مثبته داخل الويندوز . 5️⃣ التثبيت التلقائي للخطوط واتفاقية الاستخدام :- خيار لتثبيت خطوط البرنامج الخاصة في نظام ويندوز العميل تلقائياً . إظهار شاشة اتفاقية الترخيص ( License Agreement ) قبل بدء التثبيت . 6️⃣ واجهة تثبيت تفاعلية ومخصصة :- تمكنك الأداة من إنشاء إختصارات سطح المكتب وقائمة ابدأ بأيقونة التطبيق المخصصة . دعم واجهات التثبيت باللغة ( العربية / الإنجليزية / أو كلاهما ) ليختار العميل لغته المفضلة لواجهة التثبيت . 7️⃣ نافذة تيرمنال عصرية وملونة ( Live Log Terminal ) :- شاشة سجل تفاعلية حديثة ، تعرض خطوات البناء لحظة بلحظة بنظام ألوان متناسق وواضح ومخصص لسهولة المتابعة . 📥 كيفية الاستخدام :- اختر مشروعك أو أنشئ مشروعاً جديداً . حدد ملف قاعدة البيانات الرئيسي ( وملف قاعدة البيانات الخلفية - الجداول - إن وجد ) والأيقونة . قم بتفعيل الخيارات التي تناسبك من لوحة التحكم ، مثل ( Shift , Trusted Location , Fonts , Runtime ... إلخ ) . اضغط على زر إنشاء حزمة التثبيت ، وسيتكفل البرنامج بالباقي لتجد ملف الـ EXE جاهزاً للتسليم 😁 . 📸 صورة لواجهة الأداة وتبويباتها :- فيديو توضيحي لطريقة الاستخدام بشكل سريع .. أتمنى أن تكون هذه الأداة عوناً وإضافة نافعة لجميع المطورين والمبرمجين في مشاريعهم القادمة ونسألكم خالص الدعاء بظهر الغيب .. صاحب الملف Foksh تمت الاضافه 09/05/26 الاقسام قسم الأكسيس5 points
-
اعرض الملف أداة البحث السريع {سلسلة الأدوات المساعدة المخصصة} أي شخص يتعامل مع برامج وتطبيقات قواعد البيانات لايمكن أن يستغني عن إستخدام أي وسيلة من وسائل البحث عن البيانات فمثلاً عندما تريد تصفية نموذج بيانات الموظفين لإستعراض بيانات موظف واحد فقط , أو كمثال آخر إذا كنت تعمل على شاشة المبيعات وتريد إدخال رقم الصنف فتقوم بفتح قائمة الأصناف والبحث عن الصنف المطلوب لإرجاع كود الصنف والإحتفاظ به في جدول المبيعات , والكثير من الأمثلة الأخرى المشكلة هنا هو أنك ستكون مضطر لإنشاء نموذج بحث لكل مكان ستحتاج فيه إلى البحث عن البيانات أو على الأقل نموذج واحد لكل نوع من أنواع البيانات ولحل هذه المشكلة أقدم لكم اليوم أداة جميلة وبسيطة تمنحكم إمكانية الحصول على أي عدد قد تحتاجونه من قوائم البحث وبإستخدام نموذج واحد فقط (بالأصخ نموذج رئيسي وآخر فرعي) وقد أسميت الأداة بإسم أداة البحث السريع لأنها بالفعل تقدم أسرع تجربة بحث قد تجدها سواء كنت تستخدم الماوس أو لوحة المفاتيح وكما هو موضح بالصورة المتحركة فلو رأينا سرعة الوصول لنتيجة البحث بإستخدام الماوس وقارناها مع مربع التحرير والسرد أو مربع القائمة سيكون الفارق كبير وكما تعودنا سأرفق لكم ملفي القالب والنسخة التوضيحية والتي ستجدون بداخلها أمثلة عملية لإستخدام الأداة مع ملاحظات وتعليمات أرجو قرائتها بعناية أرجو أن تجدوا في هذه الأداة الفائدة والعون في تسهيل أعمالكم تحياتي صاحب الملف منتصر الانسي تمت الاضافه 09/08/26 الاقسام قسم الأكسيس4 points
-
المعادلة لا تغمل على اصدار 2010 تعمل على اصدار 2013 وما فوق يمكن استخدام كود لتلوين الخلايا التي بها معادلات الخطوات حدد العمود او الاعمدة - ثم اصغط على الزر تلوين خلايا المعادلات.xlsb3 points
-
معادلة جلب العنوان: =IFERROR(INDEX($K$4:$K$1000,MATCH($B4&$C4&$D4,$H$4:$H$1000&$I$4:$I$1000&$J$4:$J$1000,0)),"") معادلة جلب المهنة: =IFERROR(INDEX($L$4:$L$1000,MATCH($B4&$C4&$D4,$H$4:$H$1000&$I$4:$I$1000&$J$4:$J$1000,0)),"") في إصدارات Excel القديمة يجب إدخال المعادلة كمصفوفة بالضغط على: Ctrl + Shift + Enter أما في Excel 365 وExcel 2021 فيكفي الضغط على Enter فقط، ولا حاجة لاستخدام Ctrl + Shift + Enter.3 points
-
وعليكم السلام ورحمة الله وبركاته .. إليك معادلات شاملة للعيارات من 18 - 24 للحركات مبيعات ومشتريات :- عدد حركات المبيعات للعيار 18 :- ="عدد حركات المبيعات عيار 18 = "&COUNTIFS(C:C,"مبيعات",F:F,18) عدد حركات المشتريات للعيار 18 :- ="عدد حركات المشتريات عيار 18 = "&COUNTIFS(C:C,"مشتريات",F:F,18) عدد حركات المبيعات للعيار 21 :- ="عدد حركات المبيعات عيار 21 = "&COUNTIFS(C:C,"مبيعات",F:F,21) عدد حركات المشتريات للعيار 21 :- ="عدد حركات المشتريات عيار 21 = "&COUNTIFS(C:C,"مشتريات",F:F,21) عدد حركات المبيعات للعيار 24 :- ="عدد حركات المبيعات عيار 24 = "&COUNTIFS(C:C,"مبيعات",F:F,24) عدد حركات المشتريات للعيار 24 :- ="عدد حركات المشتريات عيار 24 = "&COUNTIFS(C:C,"مشتريات",F:F,24) ولو أردت التوسع بتحديد الجديد والمستعمل كمثال :- ="عدد حركات المبيعات الجديدة عيار 21 = "&COUNTIFS(C:C,"مبيعات",E:E,"جديد",F:F,21) ="عدد حركات المبيعات الجديدة عيار 24 = "&COUNTIFS(C:C,"مبيعات",E:E,"جديد",F:F,24) ="عدد حركات المشتريات الجديدة عيار 21 = "&COUNTIFS(C:C,"مشتريات",E:E,"جديد",F:F,21) ="عدد حركات المشتريات الجديدة عيار 24 = "&COUNTIFS(C:C,"مشتريات",E:E,"جديد",F:F,24) ويمكن استعمال معادلة عامة تقرأ تلقائياً الخلايا بقيمها النصية ، كمثال لصف وصنف واحد :- ="عدد حركات "&E1&" "&E2&" عيار "&F3&" = "&COUNTIFS(C:C,E1,E:E,E2,F:F,E3) فتكون النتيجة للمثال السابق = عدد حركات الحالة جديد عيار 21 = 0 وهذا حالياً ما استطعت تنفيذه من طلبك .. الملف للتوضيح :- Book1.xlsx3 points
-
بفضل الله سبحانه وتعالى ، ثم لك على هذه السهرة الجميلة والغنية وسماع صوتك .. قد أكملت سهرتي التي تكللت بالنجاح .. وقد كانت الثمرة في نهاية موسم الحصاد تتلخص بـ :- 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 points
-
تقصدني أنا صح ؟ 😅 سواء كانت هذه نيتك أم لا فأنا أشكرك لطرح هذا السؤال حتى يخرج لنا الأستاذ @Moosak بهذه التحفة فقد قدم لنا قطعة من الصلصال وما علينا إلا تشكيلها كما نشاء وهذه كانت تجربتي ولكن هذا تطلب مني تعديل دالة CheckProtection لتصبح على النحو التالي Public Function CheckProtection(ByVal tblName As String) As Boolean On Error GoTo ErrHandler Dim tmpPath As String tmpPath = Environ("TEMP") & "\DataMacro_Check_" & tblName & ".xml" ' Export the data macro (acTableDataMacro = 12, hidden member) Application.SaveAsText AC_TABLE_DATA_MACRO, tblName, tmpPath ' Read contents using FSO (Unicode) Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") If fso.FileExists(tmpPath) Then Dim ts As Object Set ts = fso.OpenTextFile(tmpPath, 1, False, -1) ' -1 = Unicode Dim result As String result = ts.ReadAll ts.Close On Error Resume Next Kill tmpPath On Error GoTo 0 CheckProtection = True Else Debug.Print "No file was created." CheckProtection = False End If Set fso = Nothing Exit Function ErrHandler: blnIsBlocked = False Debug.Print "No data macro found on '" & tblName & "': " & Err.Description Debug.Print "ERROR: " & Err.Description CheckProtection = False End Function أصبحت نتيجة هذه الدالة من النوع Boolean بدل String لترجع True إذا كان الجدول محمي أو False إذا كان غير محمي وسؤالي للأخ موسى هل سيسبب هذا التغيير أي مشكلة وأنه من الضروري أن يكون ناتج هذه الدالة ذلك النص الطويل؟ الآن عند النقر على الزر الأول سيتم التحقق من وجود الماكرو فإذا لم يجده سينشئه ثم يفتح النموذج If CheckProtection("Tbl_Cust") = False Then ApplyTableProtection "Tbl_Cust" End If DoCmd.OpenForm "frmCust" يمكن أن يكون هذا الكود خلف حدث الإغلاق للنموذج أو أي مكان آخر والعكس في الزر الثاني إذا كان موجود سيزيله ثم يفتح النموذج If CheckProtection("Tbl_Cust") = True Then RemoveTableProtection "Tbl_Cust" End If DoCmd.OpenForm "frmCust" صراحة تعجبني الحلول المبتكرة القابلة للتشكيل وفقاً لطريقة عمل كل شخص برافو أستاذ موسى2 points
-
2 points
-
السلام عليكم ورحمه الله وبركاته ممكن من التنسيق الشرطي لو الخليه مثلا فيها معادله اضف لون والتنسق اللي =ISFORMULA(A1) وكذلك لامر لو مفيش معادله والخليه فيها قيمه عدديه برده اضف لون وتنسيق =AND(NOT(ISFORMULA(A1)), A1<>"")2 points
-
مع إحترامي لصاحب الفيديو ولكني أجد أن تخصيص أيقونة أكسس بأيقونة أخرى فهذا لن يحل المشكلة لو أردنا تخصيص الأيقونة لكل تطبيق جرب المرفق ولاحظ النتيجة (بعد إنشاء الإختصار يجب فتح التطبيق بإستخدام الإختصار) كل المطلوب هو إستيراد النموذج frmShortcut إلى اي تطبيق والنقر على الزر (إنشاء الإختصار) ويمكن حذف هذا النموذج بعد ذلك ملاحظة هذا الحل مخصص للعمل في ويندوز 10 فقط تحياتي تجربة.rar2 points
-
التحديث الجديد من أداة صانع القوائم المختصرة ، الإصدار الثالث ، ويشمل :- تمكين المستخدم من تعيين أيقونات الـ FaceID بطريقة عصرية وديناميكية . التمكين من استعادة أيقونة أمر الإفتراضية . التعامل الكامل مع جميع الإصدارات من 2003 - 365 طريقة الإستخدام :- أنشئ قائمتك المختصرة الجديدة . حدد اي خيار من القائمة ، وانقر زر الفيس 🙂 . تنقل بين التبويبات والتصنيفات ، واختر ايقونتك التي تريدها .. احفظ القائمة ، وجربها . الزر الذي يمثل أيقونة آكسيس هو زر استعادة الأيقونة الإفتراضية للزر المحدد من القائمة التي انشأتها . ملف التحديث مفتوح المصدر ، للإصدارات أحدث من 2003 :- Menu Builder V.3.zip الإصدار 2003 قريباً ، حال ضبطه 100%2 points
-
اعرض الملف أداة إنشاء الخيارات المخصصة بإستخدام القوائم المختصرة {سلسلة الأدوات المساعدة المخصصة} اليوم أقدم لكم طريقة أخرى من طرق إنشاء قوائم الخيارات المخصصة ولكن هذه المرة بإستخدام القوائم المختصرة السياقية كل ما يتطلب معرفته للعمل بهذه الأداة ستجدونه موضحا ضمن المرفقات وكما تعودنا فمرفق لكم ملف أكسس بإسم النسخة التوضيحية تحتوي على أمثلة عملية توضح طريقة عمل الأداة وطرق الإستفادة منها بالإضافة إلى نسخة بإسم القالب يحتوي الكائنات المطلوب إستيرادها تم في هذه الأداة الأخذ بالإقتراحات التي قدمها الأخ @Foksh والأخ @Moosak في موضوع الأداة السابقة هنا فأصبح نموذج ببناء صيغة أمر الإستدعاء يقوم بإضافة عبارة Select Case ضمن الصيغة وتم إستخدام دالة بدل الإجراء ليتم إرجاع قيمة الخيار مباشرة لأني رأيت بصراحة أن هذين الإقتراحين هما الأنسب لهذه الأداة أرجو أن تجدوا في هذه الأداة الفائدة العلمية والعملية وفي إنتظار أي ملاحظات تقدمونها تحياتي صاحب الملف منتصر الانسي تمت الاضافه 09/19/26 الاقسام قسم الأكسيس2 points
-
كلامك صحيح وفي محله ولكني أريد توضيح نقطة هنا من باب العلم بالشئ لا أكثر هذا ليس شرط في كل الحالات ولكنه سيكون كإجراء وقائي حتى نتأكد من أن لا يتم تنفيذ إجراء بغير قصد فمثلاً في المثال الأول في النسخة التوضيحية نلاحظ عدم حصول أي شيئ عند عدم تحديد أي عنصر في القائمة ولو عدنا للكود خلف زر الأمر سنجد عدم وجود عبارة Case Else Dim intResult As Integer intResult = GetOptions("نموذج إدخال البيانات" & _ ";نموذج تعديل البيانات" & _ ";نموذج إستعراض البيانات" & _ ";نموذج تحديد معايير تصفية التقارير") 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 ولكن في المثال الثاني سنجد أنه سيتم تنفيذ إجراء لم يكن في الحسبان في هذه الحالة سيتطلب منا إضافة عبارة Case Else وعلى رأي المثل الوقاية خير من العلاج إن شاء الله سأقوم يإضافة هذا الأمر ضمن بناء صيغة الأمر بالإضافة إلى معالجة الملاحظة المقدمة من الأخ @Moosak وذلك في النسخة الجديدة التي أقوم فيها بإضافة الهدية القيمة المقدمة منك2 points
-
كتبت لك الحل في المشاركة السابقة واكرر لم توضح الرقم الاصل او الاساسي هل هو في الخلية O10 او K9 لان الحل يختلف والنتيجة تختلف بفرضية ان الرقم الاصل الاولي هو في K9 اليك الملف AS.xlsx2 points
-
وعليكم السلام ورحمة الله وبركاته اولا لم توضح الرقم الاساسي هل هو في الخلية O10 او K9 اذا كان القيمة في الخلية O10 هي الاساس غيّر معادلة الخلية H10 لتكون: =K10 اما إذا كان الأساس هو نسبة الـ 9% من المجموع الكلي (95975.95) غيّر قيمة الخلية O10 لتكون معادلة بدلاً من رقم ثابت =O9*9% والسبب ان نسبة 9% للرقم 95975.95 ليست 8637.8400 وانما 8637.8355 والفرق بينهما 0.0045 ضرب 12=0.05 (5 سنتيم)2 points
-
أخواني وأساتذتي ومعلمينا ( دون استثناء ) كثير من المطورين ومصممي قواعد البيانات والمشاريع الخاصة بهم ، عندما يقوم بحفظ مشروعه بصيغة Accde ؛ بتفاجئ بأن جهاز العميل لم يقم بتشغيل قاعدة البيانات رغم خلوها من جميع الأخطاء البرمجية ، أو عدم التوافقية في الأكواد بين الناتين 32 و 64 . ولذا يلجأ لحفظ قاعدة البيانات بإصدار مطابق لإصدار أوفيس العميل المثبت في جهازه . أو إجبار العميل على تثبيت إصدارات حديثة أو بنواة معينة ... إلخ . اليوم كانت لي تجربة لتقوم بمهمة تشغيل قاعدة بياناتك على أي إصدار وعلى أي نواة وعلى أي ويندوز دون الحاجة لأي تدخل من مطور البرنامج . تجربتي اليوم ستقوم على مشروع مفتوح المصدر تم طرحه بعنوان الأداة :- معالج ومنشئ حزم تثبيت أكسيس الذكي - Access Smart Packager & Setup Builder كتجربة ليس إلا في هذا الموضوع هنا . على العموم وللتوضيح سأقوم بإرفاق ملف قاعدة البيانات ، والتجربة ممن يرغب بمشاركتنا رأيه ما يلي :- ذكر إصدار ونواة آكسيس الذي قام بالتجربة عليه . ذكر اصدار الويندوز ونواتها أيضاً . ممن يملك إصدارين من آكسيس على جهازه ( مثل أخوكم 😅 ، لدي الإصدارين 2019 - 64 ، والإصدار 2010 - 32 ) ، تجربة الفكرة على الاصدارين ومشاركتنا رأيه بنجاح أو فشل التجربة وهي عنوان الموضوع . وهذه صورة من جهازي الشخصي الذي أملك إصدارين مثبتين عليه . المشاركة مفتوحة لمن يرغب وغير مقتصرة على أحد 😇 . وبناء على النتائج والتفاعل ، سأقوم بفتح موضوع مخصص وطرح الأداة والشرح عنها بكامل تفاصيلها وآلية العمل عليها . وتشجيعاً لمن رغب بالتجربة .. جرب في مربع نص المسار اكتب إشارة # يليها مباشرة officena.net ، وهنا السر العجيب . لاحظ الصورة للتوضيح :- ♻ حيث سيتم استخراج قاعدة البيانات مفتوحة المصدر Accdb وليس Accde ♻ يعني يا صديقي يا مطور البرنامج ، لو في يوم من الأيام ولو بعد 10 سنين ؛ جاء العميل راكضاً ويريد منك إضافات وتعديلات جديدة . وتفاجأت بأن النسخة الأصلية ضاعت منك أو لم تعد موجودة في جهازك ولأي سبب من الأسباب .. فقط اكتب كلمة المرور التي حددتها في الأداة التي سيتم طرحها منفردة في موضعها الخاص , وستحصل على قاعدة بياناتك الأصلية مفتوحة المصدر 😁 . حجم الملف المرفق أكبر من الحد المسموح به ، لذا سأرفعه برابط مباشر على جوجل درايف من هنا . طبعاً حجم قاعدة البيانات هو 10 ميجا ..2 points
-
أعتذر بشدة فعلاً هذا الخطأ كان في القالب والحقيقة لاأعرف كيف حصل ففي الغالب أقوم بتجهيز القالب بناءً على أخر نسخة من النسخة التوضيحية قبل رفعها للمنتدى الغريب أنه لم يذكر أحد هذه المشكلة قبل الأخ @أحمد العيسى تم تصحيح الخطأ وإعادة رفع الأداة2 points
-
بسيطة أخي الكريم .. إذا أردت الإعتماد على المعادلة السابقة في الخلية لكل اسم ، فيمكن استخدام المعادلة التالية في الخلية N9 كمثال ، ونفس الأمر تقوم بسحبها لأسفل :- =TRIM(MID(TRIM(Q9), LEN(O9) + 1, LEN(Q9))) أما إذا كنت تريد معادلة مستقلة ولا تعتمد على المعادلة الأولى لاستخلاص اللقب ( كعدم وجودها أساساً ) ، استخدم المعادلة التالية كمثال :- =TRIM(MID(TRIM(Q9), FIND("^", SUBSTITUTE(TRIM(Q9)&" ", " ", "^", IF(OR(LEFT(TRIM(Q9), 3)="بن ", LEFT(TRIM(Q9), 4)="أبو ", LEFT(TRIM(Q9), 4)="ابو "), 2, 1))) + 1, LEN(Q9))) ملفك بالمحاولتين :- فصل.xlsx2 points
-
2 points
-
يمكنك استخدام الدالة Application.OnTime لتشغيل إجراء آخر بعد دقيقة من استدعاء الكود: Sub StartTimer() 'تشغيل الإجراء SaveAndClose بعد دقيقة Application.OnTime Now + TimeValue("00:01:00"), "SaveAndClose" End Sub Sub SaveAndClose() ThisWorkbook.Save 'حفظ الملف Application.Quit 'إغلاق Excel End Sub طريقة العمل عند تشغيل StartTimer يبدأ المؤقت. ينتظر Excel دقيقة واحدة. يتم استدعاء الإجراء SaveAndClose. يتم حفظ المصنف ثم إغلاق برنامج Excel. إذا كنت تريد إغلاق المصنف فقط دون إغلاق برنامج Excel بالكامل: Sub StartTimer() Application.OnTime Now + TimeValue("00:01:00"), "SaveAndCloseWorkbook" End Sub Sub SaveAndCloseWorkbook() ThisWorkbook.Save ThisWorkbook.Close SaveChanges:=True End Sub وإذا أردت تغيير المدة إلى 5 دقائق مثلاً: Application.OnTime Now + TimeValue("00:05:00"), "SaveAndClose" بهذه الطريقة يتم التنفيذ في الخلفية بعد المدة المحددة دون استخدام حلقات انتظار (Loop) أو Application.Wait.2 points
-
هههههههههه ، تقريباً 😁 الشكر لله من قبل ومن بعد ، وفعلاً قطعة الصلصال هذه فتحت لي باب الأفكااااااار الغريبة التي تراودني . وقد أسعدت بلقاء صوتي جمعني مع أخي موسى وقد شاركني تجربة فريدة وجميلة جداً ، ولكن اتضح أنني أنا اللي كنت غائب في هذه الأيام . وخطر ببالي سؤال عند ملاحظتي لـ blnIsBlocked ، هل تم تعريف هذا المتغير ؟؟ والإجابة هنا لصاحب الفكرة طبعاً .. ويبقى سؤالي هو ، هل من الممكن تطبيق الحماية بحيث نسمح بالإضافة ولا نسمح بالتعديل أو الحذف من داخل الجداول مباشرة بدون الإضطرار لإيقاف وتشغيل الحماية في كل عملية حفظ من خلال النماذج ؟؟1 point
-
شكراً لك هذا الإطراء أخي منتصر ، والحقيقة انك كنت الحافز بمتابعة الموضوع واستكمال هذه الإضافة البسيطة . ولكم النصيب الأكبر مما دعيتم أبا المعتصم .. فعلاً هناك الكثير من الأيقونات ، وقد قدرت تقريباً بـ 3500 ايقونة ، ولكن برأيك هل تصفح 3500 أو حتى 1000 أيقونة سيكون ممتعاً 😅 نعم صحيح ، حتى تتم المعاينة فيجب أن تكون القائمة قد تم إنشاؤها وإضافة محتوياتها .. كحال أن تقوم بتكبير حجم الخط ونوعه قبل أن تكتب فلن يظهر التنسيق والتأثير إلا بوجود نص ، وهنا الشيء ذاته 😊 .1 point
-
سبق وقلت لك انت اذا نويت راح تخرج بأفكار يستعصي على أمثالنا أن نفكر بها 😂1 point
-
والله كنت أتمنى يكون هذا النموذج من تصميمي فلا أخفيك أنني في البداية كنت قد قمت بتصميم نموذج قريب من هذا بشكل كبير ولكنه كان يعتمد على جدول يحتفظ بالصور داخله ولم تعجبني الفكرة فهذا سيتطلب إستيراد الجدول لتعمل الأداة وبعد البحث في مخزون الأمثلة لدي وجدت أحد الأمثلة الأجنبية الذي كان يتضمن هذا النموذج ولكنه كان يقوم بوظيفة أخرى وبطريقة مختلفة فقمت بإستغلاله والتعديل عليه بما يناسب الهدف المطلوب هنا والحمدلله نجحت الفكرة التي كانت في بالي للطريقة التي أريد تنفيذ العمل بها عند فتح القالب ستجد الملاحظة هذه أسفل النموذج (تختفي الملاحظة عندما تكون Addin ولكنك طرحت فكرة جميلة سأحاول تنفيذها ولكني أرى أن الأفضل أن يتم ذلك عن طريق زر أمر وليس تلقائياً فقد يقوم الشخص بفتحها لمجرد الاطلاع عليها أو فتحها عن طريق الخطأ وليس لاستخدامها1 point
-
لا حول ولا قوة الا بالله الفاضل / أبو مسلم الحازم أشكرك أخي الكريم، ولكن وجب التنويه إلى أن الحل الصحيح والجهد الفعلي يعود للأخ [الاشتاذ أ / محمد صالح]، وما ردي إلا تأكيد لصحة كلامه فقط. أرجو ان تصحح الامر او من الإدارة أو المشرفين نقل اختيار «تمت الاجابة» إلى رده . مع جزيل الشكر لك وللجميع."1 point
-
يا سيدي الفاضل الملف فارغ ليس به المعادلات المذكورة في أول رد لي مع ملاحظة أنه يمكنك استبدال الفاصلة ( , ) بالفاصلة المنقوطة ( ; ) حسب إعدادات جهازك1 point
-
بارك الله فيكم أستاذ جمال ، وشكراً لكم تفاعلكم معنا لتجربتكم 😇1 point
-
مشاركةً مع اخي منتصر .. استبدل الاستعلام الموجود في الدالة GetLettersArray التي فيها الخطأ ، بالتالي :- strSQL = "SELECT DISTINCT Left(Trim(SearchName), 1) AS SearchLetter " & "FROM (" & strRS & ") AS SubQuery " & "WHERE SearchName IS NOT NULL;" حيث أن الدالة Left تحتاج إلى معاملين . وانت استعملت معامل واحد وهو SearchName ، ولم تحدد رقم الحرف الأول ، لتصبح :- Left(Trim(SearchName), 1)1 point
-
وعليكم السلام ورحمة الله وبركاته .. لدي ملف قديم أرسله لي أحد الطلاب والأصدقاء ، سأشاركك إياه كتجربة مبدأية قابلة للتطوير . عجلة سؤال وجواب.pptx1 point
-
اسمحوا لي بهذه المداخلة كما ذكر الأساتذة فسبب المشكلة أنك تعتمد الترقيم التلقائي وعند حذف سجل وإدخال سجل جديد بعد الحذف سينتقل للرقم الذي يلي السجل المحذوف هناك حل لهذه النقطة ولكنه حل غير عملي تماماً فهو يحتاج إلى تحقق شرطين الأول أن تكون السجلات المحذوفة في نهاية الجدول والشرط الثاني القيام بإجراء ضغط وإصلاح لقاعدة البيانات وهذين الشرطين من الصعب إن لم يكن مستحيلاً تحقيقهما في الواقع الحل الأنسب هو أن يتم ترقيم السجلات عن طريق البرنامج وقد ذكر الأخ @Foksh إحدى تلك الطرق وهي بإستخدام دالة DMAX رغم أنها ستحل نص المشكلة فهي ستحل مشكلة حذف أخر سجل ولكن لن تحل المشكلة إذا تم حذف سجل من المنتصف هناك طرق مخصصة تحل المشكلة وإحدى تلك الطرق كنت قد قدمتها ضمن سلسلة الأدوات المساعدة المخصصة وهي أداة الترقيم التلقائي المخصص - مع مراعاة الأرقام المفقودة أرجو أن تجد فيها حل للمشكلة1 point
-
أثق بأنك ستحصد ثمار النجاح من خلال دعائهم لك على هذه الفكرة الذهبية 😇1 point
-
وعليكم السلام ورحمة الله وبركاته أنصح باستخدام البرنامج العالمي لعمل الجداول المدرسية aSc Timetable وللاسف لا استطيع تحميل البرنامج هنا لأن حجمه أكبر من المسموح به ولكن يمكن إرساله عبر البريد الالكتروني , أو واتساب مع تحياتي1 point
-
السلام عليكم ورحمة الله وبركاته قمت بعمل ملف من إكسل لتوزيع المراقبين على قاعات الإمتحان كلمة السر 127899 إبدأ بورقة ورقة عند الوصول للورقة 3 ( التوزيع ) ينتهي الادخال اليدوي في ورقة التوزيع ابدأ بزر زر الورقة الثالثة تعبأ بالزر الأول ثم الثاني ( ممكن أن تنقر على أي خلية لمعرفة عدد أيام المراقبة ) في ورقة الجلسات بعد أن تنتهي من كتابة كل بياناتك قم بتظليل الخلايا الفارغة ( في الأعمدة x:ba ) وانقر على زر delete احتياطا الورقة الرابعة والخامسة تعبأ بالزر الثالث الملف يتسع ل 60 معلم ( مراقب ) و 30 ( جلسة اخنبار " في أيام محتلفة " ) و 30 ( قاعة اختبار ) الملف تم عمله بسرعة بناء على طلب أحد الإخوة قد أقوم ببعض التعديلات توزيع المراقبين.xlsm1 point
-
1 point
-
1 point
-
كالعادة حبيبنا ،، أنت نزل البتاع وإحنا نجرب 😁.. والأخطاء أو النواقص بتطلع من نفسها 😇🖐️ وبهذي الطريقة بتكتمل التكة الباقية إن شاء الله .. صعب ندخل معاك عالخط من النهاية بعد ما قطعت شوط طويل من البحث والتجربة 🙃 (اطمن) إحنا بندعيلك بالتوفيق والتيسير 😅🤲1 point
-
سؤالك ملغوم 😇 . ولكن برأيي كنت قد أجبت عن هذا السؤال للقواعد الغير مشتركة على الشبكة 👆🏻، بأن تجعل مسار الربط التلقائي باعتماد مجلد محدد Data مثلاً، واسم قاعدة بيانات الجداول الخلفية .1 point
-
هل يمكن إضافة خيار : (ربط تلقائي للقاعدة الأمامية بالقاعدة الخلفية) ؟ أرسلته لك على الخاص .. وشكلك حليتها بكل سهولة ..1 point
-
شكراً أستاذ موسى دائماً ترفع مغنوياتي أولاً بتثبيتك لكل أداة أقوم برفعها وثانياً لردودك التي تجعلني أطمئن بأنها تعمل بنجاح أتمنى أن تكون وجدت إستخداماتها ذات فائدة لإستخدامها ضمن تطبيقاتك1 point
-
أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. كمطورين لبرامج وقواعد بيانات آكسيس ، نعلم جميعاً أن أكبر تحدٍ يواجهنا بعد الانتهاء من برمجة أي مشروع هو مرحلة نشر البرنامج وتثبيته لدى العميل . وكثيراً ما نتفاجأ باتصالات وشكاوى متكررة من العملاء . أذكر منها :- ❌ الماكرو لا يعمل والأزرار لا تستجيب ، ( بسبب شريط الأمان الأصفر ) ❌ البرنامج تم حظره من الويندوز لأنه محمل من الإنترنت ، ( مشكلة الـ 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.zip1 point
-
حاول تحميل البرنامج الثالث passwarew password kit1 point
-
1 point
-
جرب هذا فقد تم وضع كود وحماية للورقة : 123 عندما تريد ادخال صف جديد تقوم بالضغط مرتين على أخر صف أدخلته -وسوف يتم اضافة الصف الجديد ولكم جزيل الشكر تسطير جدول أتوماتيكيا.xlsm1 point
-
كو حقا رائع أستاذ سليم-ونفذ المطلوب بدقة متناهية جعله الله فى ميزان حسناتك وبارك الله فيك وجزاك خيرا كثيرا1 point
-
تفضل أخى الملف كان موجود فى المشاركة الأولى MasNoPass.rar1 point
-
لقد تم الحل فى المشاركة الأخرى ورجاءا لا تقوم بطرح نفس السؤال فى مشاركتين مختلفتين حتى لا تجعل الإخوة يبتعدوا عن مساعدتك بارك الله فيك1 point
-
1 point