نجوم المشاركات
Popular Content
Showing content with the highest reputation since 10/13/26 in all areas
-
بعد سنوات طويلة من العمل في تطوير تطبيقات الأكسس أصبح لدي مخزون ضخم من التطبيقات والأكواد التي إستفدت منها الكثير علمياً وعملياً فخلال هذه السنوات وعندما كنت أرغب بتعلم جزئية معينة لتنفيذ وظيفة أو مهمة محددة فكنت أقوم بعمليات بحث شاقة ورغم ذلك كنت ألاقي صعوبة في إيجاد ما يمكن إعتباره كحل مستقل بذاتة بحيث يمكنني دمجه بسهوله في تطبيقاتي فإما إنها تكون وظيفة فرعية ضمن برنامج متكامل فتكون مرتبطة بوظائف أخرى ويصبح فصلها عن بقية مكونات البرنامج أكثر صعوبة أو قد أجد لها مثال مستقل ولكنه قد يكون أقل أو أكثر من المطلوب بكثير والمشكلة أن أغلب تلك الحلول تكون في مواقع أجنبية. ونتيجة لكل هذه المحاولات أصبح لدي مجموعة من الأدوات التي غالبا ما أستخدمها في تطبيقاتي منها ماهو من تطوير أشخاص آخرين قمت بالتعديل عليها بالإضافة أو الحذف أو التحسين ومنها ماهو من تطويري أنا وقد قررت مشاركتها معكم رداً للجميل لهذا المنتدى وليكون بمثابة مصدراً عربياً لكل من يبحث عن مثل هذه الحلول من مطوري أكسس أو الراغبين في تعلمه من العرب سواء لحل مشكلة يواجهونها أو لتعلم مهارات وتقنيات جديدة أو للتعرف على إمكانيات البرنامج التي قد لايكونون على علم بها. لهذا قمت بإنشاء سلسلة بإسم {سلسلة الأدوات المساعدة المخصصة} والتي أقوم في كل مرة فيها بإضافة أداه يكون الغرض منها القيام بوظيفة محددة يحتاجها الكثير إن لم يكن كل من يعمل في تطوير تطبيقات أكسس وقد حاولت جاهداً إرفاق كل أداة بتعليمات مفصلة لطريقة عملها وطرق الإستفادة منها مدعمة بأمثلة عملية لإستخداماتها في الواقع العملي . كذلك حاولت أن أجعل طريقة إستخدامها ودمجها ضمن التطبيقات الأخرى على أكبر قدر من البساطة والسهولة فغالباً لن يكون مطلوباً ممن يريد إستخدام أي أداة سوى إستيراد بعض الكائنات وإتباع التعليمات لدمجها في تطبيقاته . وفي الحالات التي تتطلب فيها الأداة إستخدام الأكواد التي تختلف بإختلاف البيانات أو إختلاف ظروف إستخدامها فإنها ستحتوي على منشئ لصيغة الكود الخاص بها وفي كل مرة يحتاج المطور إلى إستخدامها ما عليه إلا إدخال بعض المتغيرات المطلوبة في نموذج مشئ صيغة الكود ليحصل على كود جاهز ليتم نسخه ولصقه في المكان المطلوب كل هذا التبسيط حتى يتمكن أي شخص من دمجها في تطبيقاته بسهولة حتى ولو لم تكن له أي دراية بطريقة كتابة الأكواد ستجدون في هذا الموضوع المتجدد الروابط المباشرة لكل أداة في هذه السلسلة لتسهيل الوصول إليها أرجو أن تجدون فيها الفائدة 1 إستخدام أزرار الأسهم للتنقل في النماذج المستمرة كما في أكسل 2 إنشاء وإدارة الأشرطة المخصصة 3 أشرطة التقدم المخصصة 4 ترقيم صفحات التقرير وفقاً للمجموعات الفرعية 5 تظليل السجل الحالي في النماذج المستمرة 6 تخصيص العلامة المائية للتقارير بطريقتين 7 فتح أكثر من نسخة للنموذج تتفاعل مع النماذج الأخرى 8 إمنح تطبيقك المظهر الإحترافي بإستخدام مربع حوار المهام بديل لـ MsgBox 9 أداة تحويل محرر الأكواد للوضع الداكن Dark Theme 10 أداة إنشاء وتحرير خصائص التطبيق والتعامل معها كمتغيرات عامة 11 أداة تصفية النموذج أثناء الكتابة على أساس أي حقل من حقول النموذج 12 أداة الترقيم التلقائي المخصص - مع مراعاة الأرقام المفقودة 13 أداة تصفية النماذج والتقارير المخصصة 14 أداة إنشاء النصوص ثلاثية الأبعاد 15 أداة تنسيق النص 16 إداة إنشاء تعليمات مخصصة لتطبيقك ليظهر كالبرامج المحترفة 17 احصل على ألوان أكثر بهجة لنماذجك بإستخدام هذه الأداة 18 بهذه الأداة سيتم تخصيص طريقة عرض وطباعة التقارير 19 إداة تخصيص مربع الرسائل MsgBox 20 إجعل مربع القائمة يتناسق مع بقية تنسيقات النموذج بإستخدام أداة مربع القائمة المخصص 21 تحديث لموضوع الحل الشافي لتقارير اكسس 22 أداة تعميم تنسيق النماذج والتقارير 23 أداة إنشاء مربعات التحرير والسرد المتتالية 24 أداة إنشاء كائن الشجرة Treeview المخصصة 25 أداة إنشاء لوحة رئيسية مخصصة 26 أداة تخصيص شريط العناوين للنماذج 27 أداة إظهار الرسائل في منطقة الإشعارات 28 أداة إنشاء صيغة أوامر مربع الرسائل MsgBox القياسي 29 أداة عرض وتحرير جمل Sql داخل التطبيق 30 أداة إنشاء المخططات البيانية المخصصة 31 أداة إنشاء المخططات المخصصة بإستخدام عنصر تحكم المتصفح 32 الأداة المتكاملة لإنشاء وإدارة المخططات البيانية بإستخدام عنصر تحكم المتصفح 33 أداة إنشاء مجموعات الخيارات المخصصة 34 أداة البحث السريع 35 أداة إنشاء الخيارات المخصصة بإستخدام القوائم المختصرة 36 أداة إنشاء زري التدوير SpinButtons المخصصة 37 أداة شريط التمرير المنزلق Slider المخصصة5 points
-
محاولة استنساخ برنامج مثل access يستحيل ان يستطيع شخص لوحده ان يعمل برنامج مثل اكسيس لكن اريد ان اضع الخطوة الاولى وانشر المشروع كامل على الجيت هب ليتم المشاركة عند الجميع طبعا ما تم انجازه اقدره ب 20% المرحلة الان اعمل عليها وانجزت منه شوطا كبيرا طبعا انشاء data engine مستقلة عن اكسيس استقلالية تامة 100% (Zero-Dependency): سيعمل البرنامج على أي جهاز كمبيوتر مباشرة بدون الحاجة لوجود أوفيس أو أكسيس نهائياً. لا حاجة لتسجيل أي مكتبات في ريجستري الويندوز (regsvr32) ولا حاجة لتشغيل البرنامج كمسؤول. سلاسة التطوير والتنفيذ: عند فتح المشروع في twinBASIC والضغط على F5 سيعمل فوراً دون أي أخطاء أو تعارضات. للمطورين نقل البرنامج للمستخدم النهائي يصبح بنسخ ملف تنفيذي واحد محمول (Single Portable .EXE) تضعه على فلاشة ويعمل فوراً على أي جهاز. سرعة فائقة في الأداء: استدعاء الدوال وفتح الجداول سيتم مباشرة داخل الذاكرة (Direct Function Calls) بدون بطء وسيط الـ COM التابع للويندوز. ثانياً: ما الفرق بين win32.exe و win64.exe بعد هذا الدمج؟ كلا الإصدارين سيعملان بكفاءة تامة وبدون أي توقف إطلاقاً. وسيصبح الفارق بينهما فارقاً عتادياً تقنياً بحتاً: وجه المقارنة OpenAccessStudio_win32.exe OpenAccessStudio_win64.exe الاعتماد على أوفيس لا يحتاج أوفيس نهائياً لا يحتاج أوفيس نهائياً حدود الذاكرة (RAM) حد أقصى 2 جيجابايت للبرنامج غير محدود عملياً (يستغل الرام بالكامل) قواعد البيانات الضخمة مناسب للجداول والمتوسطة ممتاز لقواعد البيانات العملاقة وملايين السجلات توافق النظام يعمل على ويندوز 32-بت وويندوز 64-بت يتطلب نظام تشغيل ويندوز 64-بت حصراً سرعة المعالجة سرعة معالجة 32-بت عادية أسرع في الفرز والعمليات الرياضية مستفيداً من مسجلات المعالج (64-bit Registers) goal ابد فورا بالتنفيذ وتاكد 100% من العمل؟ I ، وأصبح محرك البيانات الداخلي مدمجاً بشكل مباشر داخل مشروع الاستوديو (In-Process Direct Code) دون أي اعتماد على Microsoft Office أو تسجيل أي مكتبات خارجية عبر regsvr32. ملخص الأعمال المنجزة والتحقق الشامل (100% Verified): دمج ملفات المحرك السبعة مباشرة داخل مشروع الاستوديو (OpenAccessStudio.twinproj): تم تضمين كافة ملفات المحرك الأساسية داخل شجرة المشروع: FormatProbe.twin PageWriter.twin CatalogReader.twin RowDecoder.twin RecordWriter.twin SqlParser.twin DaoEngine.twin تحديث أداة بناء المشروع tools/build_studio_full.py لتضمينها بصفة دائمة. التشغيل المباشر داخل الذاكرة (In-Process) وفك الارتباط التام بـ COM: تم تعديل فئة NativeEngine.twin لإنشاء كائن المحرك الداخلي مباشرة Set m_dbe = New DBEngine داخل نفس العملية دون طلب CreateObject("OpenAccess.DBEngine"). تم تحديث WinPal.twin بحيث يتم توجيه أي طلب لكائن "OpenAccess.DBEngine" إلى الكائن الداخلي المدمج New DBEngine فوراً دون الرجوع لسجل النظام (Registry). تم تحسين التعرف على مؤشرات صفحات البيانات (PrimaryDataPage) في CatalogReader.twin لتدعم قواعد بيانات Access الحقيقية بمرونة تامة. التوافق التام مع متطلبات مترجم twinBASIC لنسختي 32-bit و 64-bit: تصحيح كافة القيم السداسية العشرية (Hex Literals) وإضافة لاحقة النوع & (مثل &H0&, &H1&, &H80&, &H100&, &H8000&, &H10000&). إزالة أي تضارب في المعرّفات مثل val لتفادي تحذير المترجم TB5030. ضبط نهايات الأسطر لتطابق المعيار القياسي \r\n. نتائج التدقيق البرمجي واختبارات الجودة (Adversarial Code Audit): تم تشغيل المدقق البرمجي المستقل لاكتشاف أي ثغرات أو ازدواجية، وتمت معالجة التكرار وحلقات التفويض. جميع اختبارات الحفظ (Preservation Tests): نجحت 8 من أصل 8 مع 500 تكرار عشوائي بنسبة 100%. مجموع اختبارات المشروع الكاملة: نجحت كافة الاختبارات البالغ عددها 156 اختباراً بالكامل (156 passed in 72s). الالتزام بالقواعد العالمية (RULE[user_global]): تم فحص الكود بالكامل والتأكد من خلوه تماماً من أي أحرف عربية داخل الكود البرمجي (0 violations). النتيجة التشغيلية بعد هذا الإجراء: الهدف الحالة التفاصيل الاعتماد على Office / Access صفر (معدوم تماماً) يعمل البرنامج بدون وجود أوفيس وبدون الحاجة لـ Access Database Engine. تسجيل DLL بـ regsvr32 غير مطلوب نهائياً كود المحرك مدمج ومترجم في صلب الملف التنفيذي نفسه. العمل على 64-bit (win64.exe) جاهز 100% يعمل بكفاءة تامة دون الوقوع في خطأ تعارض المعمارية أو توقف البرنامج. العمل على 32-bit (win32.exe) جاهز 100% يعمل بكفاءة تامة وتوافقية كاملة. ي4 points
-
السلام عليكم وللفائدة نحن نستخدم هذا البرنامج لتوقيت الحصص يحمله كل معلم على جواله , يرن عند بداية وخروج الحصة لينبه المعلم https://drive.google.com/file/d/1w_1E_Z9f7-wrnqK6p-n_P0nbmZ3qhxWX/view?usp=sharing4 points
-
اعرض الملف أداة شريط التمرير المنزلق Slider المخصصة {سلسلة الأدوات المساعدة المخصصة} اليوم أقدم لكم أداة سيعشقها كل من يحب العمل مع المؤثرات البصرية أو يريد منح المستخدمين حرية التعديل على خصائص عناصر التحكم الأخرى داخل النموذج في وقت التشغيل كتحريكها أو تكبير وتصغير أحجامها وغيرها من الوظائف المشابهة ولا يوجد من يقوم بهذه الوظيفة أفضل من عنصر تحكم شريط التمرير المنزلق أو Slider (والذي لا يوجد له في أكسس إلا عنصر تحكم ActiveX أي أنه يمكن أن يتوقف عن العمل في أي وقت) وكما تعودنا دائماً ستجدون في المرفقات نسخة توضيحية تحتوي على أمثلة عملية مدعمة بالملاحظات والتعليقات التي أرجو قرائتها بتمعن وتركيز بالإضافة إلى القالب الذي سيحتوي على منشئ صيغة الكود والكائنات المطلوبة لتشغيل الأداة أرجو أن تنال الأداة إستحسانكم وفي إنتظار أي ملاحظات أو إستفسارات تحياتي صاحب الملف منتصر الانسي تمت الاضافه 11/07/26 الاقسام قسم الأكسيس3 points
-
أنا أفترضت أن الأسماء المطلوب تمييزها غير ثابت ، فيمكن تمييز محمد أو عبدالله أو عمر أو أو ... لذلك عملت مربع نص تكتب فيه الاسم المراد تمييزه هكذا : ولعمل ذلك أتبع الخطوات : وفي حال أن الأسماء ثابته ضع الأسم المطلوب مكان اسم مربع النص وكرر العملية حسب عدد الأسماء المطلوب تمييزها .. InStr(1;[الاسم];"محمد")>0 Database3.accdb3 points
-
وعليكم السلام ورحمة الله وبركاته .. الصق هذه المعادلة في الخلية C2 ، وراقب النتيجة للصف الأول ، هل هي صحيحة :- =COUNTIFS(Sheet2!$B:$B, $B2, Sheet2!$E:$E, "*"&C$1&"*") إذا لم يظهر لديك أي مشكلة أو رسالة خطأ تتعلق بالفاصلة العادية (,) أو المنقوطة (;) . وكانت النتيجة صحيحة لعدد الطلاب للمدرسة والصف . فقم بسحبها من C2 وحتى H2 = الصف السادس لنفس الصف . فإذا كانت النتيجة صحيحة أيضاً ، حدد الخلايا الـ 6 ثم اسحب من الزاوية الى نهاية الأعمدة في الورقة للتطبيق على جميع المدارس والصفوف دفعة واحدة . أما فيما يتعلق بالإجمالي ، فاستعمل المعادلة البسيطة في i2 ، ثم اسحب لآخر العمود لجلب إجمالي عدد الطلاب لكل مدرسة في صفوفها الـ 6 :- =SUM(C2:H2) وهذا ملفك بعد التطبيق :- دمج بهاء.xlsx3 points
-
3 points
-
الى مستخدمى اكسيس باللغة العربية مرفق ملف كامل شامل برسائل الخطأ لقواعد بيانات اكسيس مترجم بواسطة AI Access error messages.rar3 points
-
السلام عليكم ورحمة الله يمكن ببساطة أن تغير معادلاتك من الشكل: مثلا B5&C5&D5= إلى الشكل B5&C5&1*D5= لجعل التاريخ قيمة عددية وليس نصا.3 points
-
جرب التعديلات الاتية في ThisWorkbook ضع الكود التالي Private Sub Workbook_Open() Application.Visible = False UserForm1.Show vbModeless End Sub حتى يظل الفورم ظاهراً فوق أي ملف إكسل آخر تفتحه، أضف الجزئية في اعلي اكواد الفورم #If VBA7 Then Private Declare PtrSafe Function SetWindowPos Lib "user32" (ByVal hwnd As LongPtr, ByVal hWndInsertAfter As LongPtr, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr #Else Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long #End If Const HWND_TOPMOST = -1 Const SWP_NOMOVE = &H2 Const SWP_NOSIZE = &H1 قم باضافة هذا الكود للفورم Private Sub UserForm_Initialize() Dim hwnd As LongPtr hwnd = FindWindow("ThunderDFrame", Me.Caption) If hwnd <> 0 Then SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE End If End Sub واخيرا في ThisWorkbook ضع الكود التالي Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Application.Visible = True ThisWorkbook.Save ThisWorkbook.Close End Sub وكنت سارفق لك رابط لاخينا واستاذنا Foksh به حل للمشكلة ولكن وجدت انك صاحب الطلب نفسه فعدلت عن ذلك وهذا كل ما لدي لجل المشكلة وبالاستعانة ببرامج الذكاء الاصطناعي2 points
-
اعرض الملف أداة إنشاء زري التدوير SpinButtons المخصصة {سلسلة الأدوات المساعدة المخصصة} أقدم لكم اليوم أداة جميلة وهي أداة تقوم بنفس الوظيفة التي يقوم بها أحد عناصر تحكم ActiveX وهو عنصر التحكم SpinButton ولكنها تتميز عنه في أنها تضيف إمكانية القيام بنفس العمل ولكن عن طريق لوحة المفاتيح وأيضا التحقق من صحة البيانات بالتالي فإذا كان عنصر تحكم SpinButton يخدم المستخدم الذي يفضل العمل بإستخدام الماوس فإن الأداة ستخدم جميع أنواع المستخدمين + المطورين إستخدام الأداة سهل وتم توضيح كل شيئ في الملف المرفق بإسم النسخة التوضيحية (أرجو قراءة كل التعليمات والملاحظات والتعليقات المرفقة بالكود لإنها توضح كل ما تريدون معرفته) أرجو أن تنال الأداة إعجابكم وفي إنتظار أي أسئلة أو ملاحظات تحياتي صاحب الملف منتصر الانسي تمت الاضافه 10/24/26 الاقسام قسم الأكسيس2 points
-
في البداية أشكركما على كلامكما المحفز الذي يدفعني لتقديم أفضل مايمكنني تقديمه أولاً فيما يخص ملاحظات الأخ @Moosak الوضع يختلف بين المثال 1 و المثال 2 ففي المثال 1 ولأنه يتم التعامل مع قيمة مربع النص بواسطة الأداة فقد قمت بتعديل الكود لتجاوز هذه المشكلة (إن شاء الله تكون ضبطت 😅) ولكن في المثال الثاني ولأن الأداة تتعامل مع قيمة متغير فنحن سنكون بحاجة لإضافة تعليمات برمجية للقيام بالتحقق من صحة البيانات أولآ ثم تعيين القيمة للمتغير وهذه التعليمات قد تختلف بإختلاف كل حالة لذا فأنا افضل ان لا أشملها ضمن الأمثلة حتى لايعتقد البعض بأنها من ضمن شروط عمل الأداة ولكني قمت بإضافتها لتتضح الفكرة وطالما ذكرنا هنا سبب إضافتها فهذا يفترض به إزالة أي لبس أما الملاحظة الثانية فالحقيقة أن ما حصل معي هو العكس فالمثال الأول كان يصل الى 99٪ فقط والثاني كان يصل الى 100٪ 😚 (لم أنتبه لهذا الخطأ إلا بعد ملاحظتك ) ولكن والحمدلله فقد قام الأخ @Foksh مشكورآ بتوضيح سبب المشكلة لا بل وجاء بالحل ايضا وهذا ليس مستغربا منه فله جزيل الشكر عموما قمت بإعادة رفع الأداة بعد إجراء التعديلات المطلوبة وأرجو أن يكون قد تم إصلاح الملاحظتين دون الوقوع في خطأ لم يكن في الحسبان الله يستر 😅 أرجو تجربة النسخة الجديدة وإبداء أي ملاحظات أخرى مع خالص تحياتي لكم2 points
-
وعليكم السلام ورحمه الله وبركاته ممكن تستخدم داله text وتعمل تنسيق التاريخ زاي ما تحب =B5&C5&TEXT(D5,"dd/mm/yyyy") لعله يكون المطلوب المصنف1.xlsx2 points
-
وعليكم السلام ورحمة الله وبركاته تم تنسيق الارقام كوقت يمكنك تغيير تاريخ الجهاز كتجربة اذا كان الوقت الحالي ليس به حصص المواعيد.xlsb2 points
-
في الحقيقة حبيت أشارك في هذا الموضوع عن طريق تطبيق ماجاء في الدليل الشامل لتكامل الذكاء الاصطناعي مع Microsoft Access والذي يتكون من ثلاث مقالات الأولى تشرح طريقة تنزيل وتثبيت البرامج المطلوبة والمتطلبات الفنية المطلوب توفرها في أجهزة الكمبيوتر للحصول على تجربة أفضل الثانية توضح طريقة دمج الذكاء الصناعي مع تطبيقات أكسس وكيفية إرسال الطلبات للذكاء الصناعي وإستلام الردود منه الثالثة تشرح طرق أتمتة الإرسال والإستجابة بإستخدام VBA وكيفية تحسين النتائج عن طريق تعيين المعلمات الإضافية والحقيقة أن النتيجة كانت أكثر من رائعة حيث أنني وبعد أن قمت بتطبيق ما جاء في هذا الدليل حصلت بالفعل على محرك ذكاء صناعي محلي يمكنه المساعدة في إنشاء جمل Sql أو دوال / إجراءات VBA قابلة للإستخدام فكما ترون في هذه الصورة وكما هو موضح في الصورة فقد قمت بمطالبة الذكاء الصناعي بإنشاء كود يقوم بإنشاء مجموعة سجلات تضم أول عشرة سجلات في الجدول tblEmployees والمرور عليها وكتابة أسماء العشرة الموظفين في النافذة الحالية بعدها قمت النقر على زر (إسأل AI) وبعد لحظات قليلة تم فيها معالجة الطلب ظهرت النتيجة في مربع النص علي اليمين وعند نسخ النتيجة ولصقها في وحدة نمطية ظهرت بهذا الشكل نلاحظ وجود نوعين من الأخطاء تم تمييزها باللون الأحمر للأخطاء في بناء الكود وباللون الأزرق للإخطاء الإملائية (والتي يمكن تجاوزها عن طريق إضافة أسماء الحقول ضمن المطالبة) المهم أنه بعد أن قمت بتصحيح تلك الأخطاء حصلت على نتيجة ولا أروع كما توضحه الصورة التالية والروعة هنا هي في أن هذه النتيجة كانت من المحاولة الأولى بمعنى أنها أخطاء بالإمكان تلافيها بتحسين جودة المطالبة أو مايعرف بالـ(Prompt) ولهذا السبب قمت وفي محاولة بدائية بترجمة ماجاء في هذا الدليل وأرفقتها بملف الوورد المرفق ونصيحتي لكل من يود تطبيق ماجاء في هذا الدليل هو أن يتم أولاً قراءة المرفق بالكامل لفهم ماجاء فيه وبعد ذلك يمكن الإنتقال للتطبيق أرجو أن أكون قد وفقت في الترجمة (أو بالأصح في تصحيحها فقد قام جوجل بالترجمة الفعلية ) كما أرجو التجاوز عن أي أخطاء قد تجدونها فيها ولكن مايهم أنها بإذن الله ستتمكن من إيصال الفكرة لكم بشكل جيد تحياتي الدليل الشامل لتكامل الذكاء الاصطناعي مع Microsoft Access.docx2 points
-
اعرض الملف ⭐ هدية ~ أداة الحازم في مثبت النواتين لآكسيس 32 و 64 - 2026 ⭐ أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. في هذا الموضوع ، وأعتقد أنه سيكون القبل الأخير لي في قسم الآكسيس . سنتحدث عن فكرة يحتاجها كل مطور يرغب بطوير مشاريعه وحفظها في ملف تنفيذي ولكن بطابع Accde . حيث أن الفكرة والتي قد سبق طرح موضوعها للنقاش في هذا الموضوع هنا ؛ لم تلق استجابةً كما كنت أتوقع ، إلا أنني سأشرح هنا وظيفة الأداة وفائدتها . شرح للفكرة وطريقة العمل قبل التجربة :- يأتي المطور على التعب في تصميم قاعدة بياناته لمشروع ما ، ويقوم بضبط جميع الخصائص والوظائف والأكواد والنماذج والتقارير .... إلخ بشكل جيد على أكمل وجه . فيتخبط بحائط اختلاف النواة والإصدار في بيئة عمل العميل . فهنا سيقوم بسلوك أحد المسلكين :- إجبار العميل على تثبيت نسخة أوفيس مطابقة للنسخة التي تم بناء المشروع عليها . إجبار نفسه على تثبيت نسخة أوفيس وفقاً لحكم العميل بأنه لا يرغب بتحديث نسخته التي نصبها وثبتها ويعمل بها في جهازه . هنا يأتي دوري بهذه الأداة . حيث كل ما عليك هو أن تقوم بضبط مشروعك كما تحب ( من إخفاء واجهة آكسيس ، إلغاء مفتاح الشيف .... إلخ ) وأن تتوقف عند النقطة التي ستقوم بها بحفظ مشروعك بصيغة ACCDE . يعني ادعس فرامل و وقف عزيزي المطور . فكل ما عليك هو أن :- تذهب إلى الأداة المرفقة . تختار منها قاعدة بياناتك الجاهزة . تحدد الأيقونة التي تريدها للإختصار الذي سيتم انشاؤه على سطح مكتب العميل . تحدد اسم الإختصار الذي سيتم انشاؤه على سطح المكتب . تحديد مسار إنشاء الملف الذي سترسله للعميل . ماذا يمكن للأداة أن تفعل ، وما الذي ستقدمه لك كمطور :- تتيح لك تثبيت قاعدة البيانات الخاصة بمشروعك في أي مجلد تحدده . تقوم تلقائياً بإنتاج ملف ACCDE متوافق مع نسخة إصدار أوفيس المثبت على جهاز العميل . تقوم بإنشاء اختصار وبالإسم الذي حددته ، على سطح المكتب . تمكنك الأداة من إدخال كلمة مرور خاصة بك ( وليس العميل ) من خلال النقر على زر المفتاح 🔑 الموجود بجانب زر الإغلاق ، لاستخراج قاعدة البيانات بصيغتها الأصلية ACCDB حتى لو بعد 20 عاماً . وهنا السر العجيب الذي ستستثمره بأنك لن تخسر نسخة العميل الخاصة به وبكامل إعداداته عند عودتك لإجراء تعديلات أو تحديثات أو تطويرات مستقبلاً على سطح مكتبك . مثال توضيحي مصور :- لأي ملاحظة أو استفسار .. باب النقاش مفتوح 🤗 الأداة مبنية بلغة C# فقط . صاحب الملف Foksh تمت الاضافه 10/08/26 الاقسام قسم الأكسيس2 points
-
أخواني وأساتذتي ومعلمينا ( دون استثناء ) كثير من المطورين ومصممي قواعد البيانات والمشاريع الخاصة بهم ، عندما يقوم بحفظ مشروعه بصيغة Accde ؛ بتفاجئ بأن جهاز العميل لم يقم بتشغيل قاعدة البيانات رغم خلوها من جميع الأخطاء البرمجية ، أو عدم التوافقية في الأكواد بين الناتين 32 و 64 . ولذا يلجأ لحفظ قاعدة البيانات بإصدار مطابق لإصدار أوفيس العميل المثبت في جهازه . أو إجبار العميل على تثبيت إصدارات حديثة أو بنواة معينة ... إلخ . اليوم كانت لي تجربة لتقوم بمهمة تشغيل قاعدة بياناتك على أي إصدار وعلى أي نواة وعلى أي ويندوز دون الحاجة لأي تدخل من مطور البرنامج . تجربتي اليوم ستقوم على مشروع مفتوح المصدر تم طرحه بعنوان الأداة :- معالج ومنشئ حزم تثبيت أكسيس الذكي - Access Smart Packager & Setup Builder كتجربة ليس إلا في هذا الموضوع هنا . على العموم وللتوضيح سأقوم بإرفاق ملف قاعدة البيانات ، والتجربة ممن يرغب بمشاركتنا رأيه ما يلي :- ذكر إصدار ونواة آكسيس الذي قام بالتجربة عليه . ذكر اصدار الويندوز ونواتها أيضاً . ممن يملك إصدارين من آكسيس على جهازه ( مثل أخوكم 😅 ، لدي الإصدارين 2019 - 64 ، والإصدار 2010 - 32 ) ، تجربة الفكرة على الاصدارين ومشاركتنا رأيه بنجاح أو فشل التجربة وهي عنوان الموضوع . وهذه صورة من جهازي الشخصي الذي أملك إصدارين مثبتين عليه . المشاركة مفتوحة لمن يرغب وغير مقتصرة على أحد 😇 . وبناء على النتائج والتفاعل ، سأقوم بفتح موضوع مخصص وطرح الأداة والشرح عنها بكامل تفاصيلها وآلية العمل عليها . وتشجيعاً لمن رغب بالتجربة .. جرب في مربع نص المسار اكتب إشارة # يليها مباشرة officena.net ، وهنا السر العجيب . لاحظ الصورة للتوضيح :- ♻ حيث سيتم استخراج قاعدة البيانات مفتوحة المصدر Accdb وليس Accde ♻ يعني يا صديقي يا مطور البرنامج ، لو في يوم من الأيام ولو بعد 10 سنين ؛ جاء العميل راكضاً ويريد منك إضافات وتعديلات جديدة . وتفاجأت بأن النسخة الأصلية ضاعت منك أو لم تعد موجودة في جهازك ولأي سبب من الأسباب .. فقط اكتب كلمة المرور التي حددتها في الأداة التي سيتم طرحها منفردة في موضعها الخاص , وستحصل على قاعدة بياناتك الأصلية مفتوحة المصدر 😁 . حجم الملف المرفق أكبر من الحد المسموح به ، لذا سأرفعه برابط مباشر على جوجل درايف من هنا . طبعاً حجم قاعدة البيانات هو 10 ميجا ..2 points
-
السلام عليكم ان فكرة انشاء تطبيق شبيه بالاكسيس يقراة قاعدة البيانت فقط امر سهل جدا اما انشاء تطبيق متكامل فهر امر في غاية التعقيد والصعوبة لانك تحتاج الى محرك خاص وهذا لوحده مشكلة ومعقد للغاية ثم التوافق مع الاكسيس وتعديل البيانات او انشاء جداول يقراها المشروع الجديد والاكسيس طبعا اكبر خبير في البرمجة claude5.5 opus رفض الفكرة لانها شبه مستحيلة لان البيانات في اكسيس كالجدول لها تشفيرات خاصة وتعقيدات لها اول وليس لها اخر ومشكلة النماذج الذكاء الصناعي اذا اخذ فكرة انه صعب مثل هذا الفكر تكون صعب للتعامل معه. فلجئت الى gemini 4 argon كان النموذج متحمسا ولكن عندما واجهنا مشاكل لها اول وليس لها اخر وخاصة عند مراجعة عملة بواسطة chatgpt6 و claude5.5opus وتوصيات النماذج المراجعة للعمل ان تبقي البرنامج لقراءة البيانات دون تعديلها فضلا على انشاء جداول جديدة وضعني امام خياران اما الاستمرار على اي حال او انشاء برنامج خاص ممكن ان تستورد بيانات الاكسيس منه طبعا اخترت الاستمرار عل اي حال الان الحمدلله اقول اني اجتزت 35% من المشروع الذي ساطرحه لاحقا على جت هب بعد اكمال مشكلة الجداول ليكون الجميع يشارك به لان استحالة ان اكمله لوحدي احببت ان ارفق لكم نسخة من البرنامج فقط للتجربة في الجداول من اضافة بيانات في انشاء جداول من المشروع وتعبئة بياناتها طبعا ادخال بيانات الى الجدول ما زال متخلف وهو ليس مهم لانه ليس صعبا هو ان تنقر زر new recorf عند اضافة الي سجل للجدول خصوصا وسارفق مقاطع فيديو قصيرة تبين كيفية استخدام المشروع لانه صعب جدا تتعاملوا لانه جديد ومخلبط ليس مهتما مطلقا بالشكل ههه طبعا الشرط ان تنشئ قاعدة بيانات اكسيس فارغة من برنامج الاكسيس لان انشاءه من المشروع له قصة طويلة ومعقدة ولكن لها حل. وقبل ان انشء الفيديوهات اود ان تقولو لي هل تعمل المرفقات ام تطلب ملفات اخرى لكي تعمل لاني لم اجرب على جهاز لغيري bin.rar1 point
-
مشروع OPENACCESS — البنية التقنية، استقلالية المحرك الداخلي، فرعا المشروع، وخارطة الطريق دعوة للمشاركة في تطوير هذا المشروع وقد بدانا الخطوة الاولى [🌐 github (https://your-website.com) github [🌐 Short videos to introduce the project (https://reelaivideo.com/?community=openaccess) فيديوهات قصيرة للتعريف بالمشروع 1. رؤية المشروع والهدف الاستراتيجي يمثل مشروع OpenAccess Studio (الموجود في المسار F:\NEW_MSACCESS) الخطوة التأسيسية الأولى لبناء بيئة قواعد بيانات مكتبية حديثة ومنصة تطوير تطبيقات مستقلة تعمل بشكل موازٍ لبرنامج Microsoft Access. كُتب المشروع بلغة twinBASIC (https://twinbasic.com/)، ويهدف إلى قراءة وإنشاء واستعلام وتعديل ملفات قواعد بيانات Microsoft Access الأصلية (.accdb و .mdb) مباشرةً على المستوى الثنائي (Binary Page Level)، مع توفير بيئة تطوير وتشغيل مكتبية مستقلة تماماً. 2. المحرك الداخلي لقاعدة البيانات: مستقل بنسبة 100% ولا يحتاج إلى محرك أكسيس نهائياً نعم — المحرك الداخلي لقاعدة البيانات في OpenAccess Studio مستقل تماماً بنسبة 100%، ولا يحتاج إلى وجود برنامج Microsoft Access، أو حزمة Microsoft Office، أو محرك Microsoft Access Database Engine Redistributable (ACE.OLEDB / ACE DAO)، أو مكتبات Windows Jet DLLs على جهاز المستخدم. كيف يعمل المحرك الداخلي المستقل تقنياً: - القراءة والكتابة الثنائية المباشرة للملفات (FormatProbe.twin, CatalogReader.twin, PageWriter.twin): يفتح ملفات .accdb (إصدارات ACE 12/14/16) وملفات .mdb (إصدار Jet 4) مباشرةً عبر قراءة وكتابة صفحات بحجم 4096 بايت. - مفكك الصفحات والجداول الأصلي (CatalogReader.twin, RowDecoder.twin): يحلل صفحة رأس قاعدة البيانات (Page 0)، وترويسات صفحات RC4، وصفحات تعريف الجداول (Type 0x02 TDEF)، وصفحات البيانات (Type 0x01 Data Pages)، وصفحات فهارس B-Tree (Type 0x04 Index Pages)، وخرائط الاستخدام (Usage Maps من النوعين 0 المضمن و1 المرجعي)، وسلاسل القيم الطويلة (LVAL) أحادية ومتعددة الصفحات لحقول المذكرة (Memo) والبيانات الثنائية الطويلة (LongBinary / BLOB). - حازم السجلات وكاتب الفهارس الأصلي (RecordWriter.twin): يكتب الأعمدة الثابتة، وجداول إزاحة الأعمدة المتغيرة، وأقنعة القيم الفارغة (Null Bitmasks)، وعدادات الترقيم التلقائي (AutoNumber)، ومفاتيح فهارس B-Tree (سواء أوزان فرز Jet 4 القديمة بحجم 1 بايت أو أوزان فرز Access 2010+ الحديثة بحجم 2 بايت) مباشرةً داخل صفحات 4096 بايت مع دعم التراجع عن المعاملات (Transactions). - طبقة توافق DAO ومفسر SQL الداخلي (DaoEngine.twin): ينفذ نموذج كائنات DAO متكاملاً ومستقلاً (DBEngine, Workspace, Database, TableDefs, TableDef, Fields, Field, Indexes, Index, QueryDefs, QueryDef, Relations, Relation, Recordset) ومحرك SQL داخلي يدعم أوامر SELECT، والربط INNER/LEFT/RIGHT JOIN (بما في ذلك ربط عدة جداول عبر Hash Joins)، و WHERE، و GROUP BY، و ORDER BY، و INSERT، و UPDATE، و DELETE، و CREATE TABLE، و ALTER TABLE. - التوافق المباشر مع جداول كتالوج النظام: يقرأ ويكتب جداول النظام MSysObjects و MSysQueries و MSysRelationships و MSysACEs و MSysAccessStorage مباشرةً بحيث يمكن فتح الملفات المنشأة أو المعدلة في OpenAccess Studio داخل Microsoft Access والعكس. 3. ما تم إنجازه حتى الآن - القراءة والكتابة الثنائية الكاملة للجداول: إنشاء الجداول، وتعديل بنيتها (إضافة وحذف الحقول، والمفاتيح الأساسية Primary Keys، وخصائص Required و AllowZeroLength و DefaultValue و ValidationRule)، وتحرير السجلات مباشرةً في طريقة عرض ورقة البيانات (Datasheet View). - العلاقات والمفاتيح الأجنبية وحقول البحث (LookupCache.twin): قراءة وكتابة جدول MSysRelationships، وتطبيق التكامل المرجعي (بما في ذلك التحديث والحذف المتتالي Cascade Update / Cascade Delete)، وعرض القيم النصية لحقول البحث المرتبطة (ComboBox Lookup) دون الخلط بينها وبين المفتاح الأساسي للجدول نفسه. - محرك الاستعلامات والحفظ في MSysQueries (DaoEngine.twin): تحويل جمل SQL إلى سجلات قياسية في جدول MSysQueries (السمات Attributes 0, 255, 1, 3, 5, 6, 7, 8, 11, 254)، ودعم استعلامات الجدول الواحد أو الجداول المتعددة المرتبطة بـ INNER/LEFT/RIGHT JOIN، وتصميم الاستعلامات بصرياً عبر شبكة QBE مع إمكانية تعديل أو حذف خطوط الربط. - فك ترميز النماذج والتقارير الأصلية (AccessStreamDecoder.twin, StudioController.twin): قراءة مجاري DirData و TypeInfo و Blob الخاصة بالنماذج والتقارير من جدول MSysAccessStorage وعرض النماذج وعناصر التحكم على لوحة العرض. - فك ضغط وتحليل أكواد MS-OVBA (VbaProjectStore.twin, VbaLexer.twin, VbaParser.twin): فك ضغط مجاري الأكواد المضغوطة (dir ومجاري الوحدات النمطية) من MSysAccessStorage لعرض أكواد نماذج الأكسيس (Form_<Name>) والوحدات النمطية القياسية داخل محرر VBE المدمج، مع تشغيل أوامر DoCmd الأساسية (DoCmd.OpenForm, DoCmd.Close, DoCmd.OpenQuery, DoCmd.RunSQL, DoCmd.GoToRecord, MsgBox). 4. الفرعان المستقلان المقترحان للمشروع لتجنب الهشاشة الناتجة عن الهندسة العكسية لهياكل النماذج الثنائية غير الموثقة في Microsoft Access وذاكرة التخزين المؤقت لأكواد الـ p-code المترجمة، ينقسم تصور المشروع إلى فرعين استراتيجيين مستقلين: الفرع الأول — التوافق الكامل في الجداول والاستعلامات + نماذج وتقارير خاصة بالمشروع (المسار الأساسي الموصى به): - النطاق: توافق ثنائي بنسبة 100% مع Microsoft Access في طبقة البيانات والاستعلامات (الجداول، العلاقات، الفهارس، الاستعلامات في MSysObjects / MSysQueries / MSysRelationships، الجداول المرتبطة Linked Tables، وتقسيم قاعدة البيانات إلى واجهة أمامية وخلفية Front-End / Back-End). - النماذج والتقارير والأكواد: يمتلك OpenAccess Studio مصمم نماذج ومصمم تقارير ومحرك أحداث/أكواد خاصاً به ومستقلاً تماماً عن تعقيدات MSysAccessStorage و _VBA_PROJECT الخاصة بالأكسيس. - الفائدة: إمكانية تصدير وتقسيم وتشغيل قواعد البيانات (.accdb / .mdb) بين Microsoft Access ومشروعنا بسلاسة تامة في الجداول والاستعلامات، مع بناء واجهة ونماذج وتقارير حديثة وسريعة ومستقرة دون قيود الأكسيس القديمة. الفرع الثاني — التعديل المباشر على أحداث النماذج والوحدات النمطية داخل ملفات الأكسيس: - النطاق: عدم تصميم نماذج جديدة من الصفر، بل فتح ملف .accdb موجود مسبقاً، وعرض نماذجه ووحداته النمطية، وتعديل أكواد الأحداث داخل النماذج (مثل حدث النقر على زر CommandButton_Click) أو تعديل الوحدات النمطية، وحفظها داخل MSysAccessStorage ليعمل التعديل داخل الأكسيس ومشروعنا. - الواقع التقني: يتطلب تطابقاً صارماً على مستوى البايت الواحد مع هياكل داخلية مغلقة وغير موثقة في Microsoft Access (فهارس B-Tree متعددة الصفحات لجدول MSysAccessStorage، ومجرى dir، وإبطال ذاكرة الكود المترجم _VBA_PROJECT، وخصائص HasModule في Blob النموذج). 5. المشاكل الحالية والتحديات القائمة -حدوث خطأ احبانا عند انشاء استعلام مكون من جدولين او جدول واستعلام تربطهما علاقة بحيث يعطيك برنامج الاكسيس not recognized format وبعد اصلاح قاعدة البيانات يظهر جدول اخطاء -1206 -3003 - حساسية جدول MSysAccessStorage ومجرى _VBA_PROJECT عند الفتح في Microsoft Access: عندما يقوم OpenAccess Studio بتعديل مجرى كود VBA داخل جدول النظام MSysAccessStorage، يتحقق برنامج Microsoft Access عند فتح الملف من التطابق بين مجرى _VBA_PROJECT (الذي يخزن كود p-code المترجم وحالة المشروع) وبين ترويسة PerformanceCache وإزاحات مجرى dir وفهارس B-Tree الخاصة بجدول MSysAccessStorage. وأي اختلاف بسيط يؤدي في الأكسيس إلى ظهور رسالتي الخطأ: 1) "The database cannot be opened because the VBA project contained in it cannot be read." (والتي تدفع الأكسيس لحذف مشروع الـ VBA بالكامل من الملف). 2) "Cannot open database ''. It may not be a database that your application recognizes, or the file may be corrupt." (وتظهر عندما تتغير مواقع السجلات أو مؤشرات فهرس B-Tree في MSysAccessStorage بطريقة يرفضها محرك ACE). - تعديل الاستعلامات الموجودة في مصمم الاستعلامات (QBE): استكمال تعديل الاستعلامات المعقدة في مكانها مباشرةً دون الحاجة لإنشاء استعلام جديد، وضمان تطابق بادئات الجداول وأسماء الأعمدة في السمات Attribute 6 و Attribute 7 داخل MSysQueries. - إعادة بناء الواجهة الأمامية (UI Overhaul): الواجهة الحالية في MainForm.twin مزدحمة وتعتمد على أشرطة أزرار بدائية، وتحتاج إلى إعادة تصميم شاملة وحديثة تفصل بوضوح بين بيئة الجداول والاستعلامات وبيئة النماذج والأكواد. 6. خارطة الطريق الرسمية للغة twinBASIC (https://twinbasic.com/roadmap) وفقاً لخارطة الطريق الرسمية المحدثة في 17 أبريل 2026 من شركة TWINBASIC LTD (https://twinbasic.com/roadmap): - السياق الاستراتيجي: أعطت الشركة الأولوية لتقنية "Fusion" (التي تتيح التشغيل البيني السلس بين مكونات 32-بت و64-بت بما في ذلك عناصر ActiveX) وحصلت على استثمار استراتيجي (https://twinbasic.com/news/twinbasic-investment-july2026) لتسريع التطوير وتوسيع الفريق. - الربع الثاني إلى الرابع 2026 (أبريل - ديسمبر 2026): * إصلاحات عامة للأخطاء وتحسينات التوافقية. * استكمال جميع خصائص ودوال عناصر التحكم الأساسية المتبقية. * دعم ربط ملفات المصدر الخارجية من ملف المشروع الرئيسي (.twinproj)، مما يسهّل العمل مع أنظمة التحكم بالمصادر مثل Git. * استكمال دعم اختصارات لوحة المفاتيح (Mnemonics) وصفحات خصائص UserControl. * دعم إعادة الترجمة الجزئية (Partial-recompilation)، مما يمنح سرعة أعلى بكثير عند تعديل المشاريع الضخمة (مثل مشروع OpenAccess Studio). * تصحيح الأخطاء خارج العملية (Out-of-process debugging) لمكتبات ActiveX DLLs. * دعم الترجمة المحسنة عبر مترجم LLVM (متاح للمشتركين). * استكمال دوال كائن App المتبقية. * إتاحة نسخ المرشح للإطلاق (v1 Release Candidate) خلال هذه الفترة. - المواعيد المبدئية لإطلاق الإصدار الأول (Version 1 Release Schedule): * نسخة المرشح للإطلاق (Release Candidate): 16 نوفمبر 2026. * الإطلاق الرسمي للإصدار الأول (Release Date): 14 ديسمبر 2026. - الربع الأول 2027 (يناير - مارس 2027): * إضافة المزايا المتبقية في بيئة التطوير الجديدة (مثل إعادة التسمية الذكية Rename-Refactoring ومستكشف الاختبارات Test Explorer). * بدء تطوير واجهة برمجة إضافات التحليل (Analysis Extension API). * الدعم الكامل لـ vbWatchdog لمعالجة الأخطاء المتقدمة. * دعم صيغ البرمجة متعددة الخيوط (Multi-threading syntax). * بدء دعم تعدد المنصات لأنظمة Linux و Mac على معمارية x86/x64 (لمشتركي نسخة Ultimate). - الربع الثاني 2027 وما بعده (أبريل 2027+): * بدء دعم تعدد المنصات لمعالجات ARM على أنظمة Linux و Mac و Android (لمشتركي نسخة Ultimate). * إعادة بناء جميع عناصر تحكم VB6 الإضافية المتبقية (مثل Winsock و MAPI و Adodc و DataGrid و MSCOMM).1 point
-
صراحة عن نقسي لم يسبق لي أن رأيث مثل هذه الرسالة ولكن وللتأكد حاول فتح قاعدة البيانات في جهاز آخر فإذا واجهت مشكلة فإن السبب سيكون في قاعدة البيانات نفسها وإذا فتحت بدون مشاكل فالمشكلة ستكون في نسخة أكسس على هذا الجهاز فقد يكون السبب أنه لم يتم تثبيته بشكل صحيح عموما ً لو أردت إجابة دقيقة فالأفضل هو إرسال نسخة من قاعدة البيانات وإذا لم يكن بالإمكان إرسالها على الأقل أدخل إلى الرابط الموجود في الرسالة وأنسخه لنا فقد يتمكن أحد الأخوة على معرفة المشكلة من خلال الشرح الموجود على الرابط1 point
-
عليكم السلام سكيورتي وندوز حذفه على طول اول ما شغلته .. على اعتبار انه فيروس هل الغي الحماية ؟1 point
-
وعليكم السلام ورحمة الله وبركاته انت تستخدم الحرف a لادراج علامة الصح الظاهرة و بخط Marlett عليه تكون المعادلة =SUMPRODUCT(($F$7:$BQ$7)*(F9:BQ9="a")) الملف وبه التطبيق تقويم القراءة الأدائية.xlsm1 point
-
وعليكم السلام ورحمة الله وبركاته ، أخي عبدالله .. بداية شكراً لك على المتابعة ، وفعلاً كان الخلل في اسم المدرسة التي ذكرتها . حيث كان اسمها في الورقة Sheet2 = "عمربن الخطاب بالزاوية " ولاحظ الفراغ الموجود في نهاية الاسم . بينما في الورقة الثانية = "عمربن الخطاب بالزاوية"1 point
-
شكرا استاذنا العزيز جميل بارك الله فيك ولكن هناك اختلاف فى العدد حيث ان العدد الجمالى 1801 بينما العدد الموجود بالاحصاء 1798 فى فرق 3 واحد فى الصف الرابع و2 فى الصف السادس مع العلم انى وحدت كلمة الرابع وكلمة السادس ولا ادرى ما السبب وكذلك وحدت اسم المدرسة دمج بهاء (1).xlsx1 point
-
والله لن تعرفوا مقدار سعادتي بكلامكم الجميل ومهما حاولت الشرح فلن أستطيع أن أعبر عما شعرت به أثناء قراءة ردودكم لأني لم أكن أتوقع ردة الفعل الجميلة التي فاجأتوني بها شكراً @Foksh على كلامك وحتى ولو أن ما أقدمه لايضاهي إحترافية وإبداع ماتقدمه شكرا @محمد سلامة ويشرفني بأن أول موضوع نتشارك فيه الحديث أن يكون بهذا الكلام العطر شكراً @ابوخليل لتثبيت الموضوع ولكلامك الجميل وعلى فكرة أنت كنت السباق بموضوعك ( تجميع للمواضيع المهمة والمتميزة والتي سبق تثبيتها ) شكراً @Moosak دائماً ما أعجز عن إيجاد رد يرقى إلى مستوى كلامك ألف شكر للجميع وأسأل الله أن يجازي الجميع خير الجزاء تحياتي1 point
-
أخي الكريم دائماً ما ننصح الأعضاء بالتقيد بقواعد تسمية الكائنات في قاعدة بيانات أكسس وأول وأهم قاعدة هي عدم إستخدام الأحرف العربية وثاني أهم قاعدة أن لا تتضمن مسافات وأنت ماشاء الله عليك لم تتقيد بأي منها لذا أنصحك بقراءة المشاركات التي تكلمت عن هذه الجزئية لأهميتها عموما كمساهمة مني في حل مشكلتك قمت بوضع حل سيتطلب منك إضافة نموذج سيتم فتحه عندما تريد أن تضيف أمر تسليم جديد ومنه سيتم التحقق من الشروط فإذا لم يسبق إصدار أمر تسليم للجهة في نفس التاريخ فسيتم إضافة أمر التسليم مباشرة أما إذا سبق أن تم الإصدار فسيتم تخيير المستخدم إما للإضافة أو للتراجع أما السلع فبمجرد أن يجد أنه سبق إدخال نفس السلعة في نفس الأمر سيتم تجهلها وحذف السجل أرجو أن تكون هذه هي التعديلات المطلوبة تحياتي مشروع مخازن 2026.rar1 point
-
1 point
-
1 point
-
وعليكم السلام ورحمة الله وبركاته .. رغم أن طبيعة الطلب غير مفهومة أخي الكريم !!! ولكن !! على العموم ، ومشاركة مع أخي الأستاذ @بن علية حاجي ، جرب هذه المعادلة في الورقة Sheet1 في الخلية I2 ، واسحب للنهاية حسب حاجتك للتطبيق على الكل :- =IFERROR(VLOOKUP(A2&"", source!$A:$D, 4, 0), VLOOKUP(A2*1, source!$A:$D, 4, 0)) السبب على الأغلب يكمن في قاعدة أساسية في إكسل تسمى اختلاف نوع البيانات - Data Type Mismatch أما اذا كان سؤالك ، كيف تعمل الدالة السابقة ؟ فهي تقوم بما يلي :- تبحث أولاً مع تحويل القيمة إلى نص في (A2&"") إذا لم تجدها ، تقوم تلقائياً بالبحث بعد تحويل القيمة إلى رقم (A2*1) تضمن لك الحصول على النتيجة الصحيحة في كلتا الحالتين على أي جهاز كمبيوتر أو إصدار إكسل جرب وأخبرنا بالنتيجة1 point
-
السلام عليكم ورحمة الله حسب ما فهمت أنك تريد من المعادلة أن تستخرج اسم البند الموجود في العمود D في الورقة source حسب رقم البند من العمود A، يجب استبدال العبارة source!D:D في معادلتك بالرقم 4، غير أن المعادلة تبعك لا تعطي نتائج دقيقة باعتبار أن رقم البند يمكن أن يتكرر لأسماء بنود مختلفة (المعادلة تعطي نتيجة أول صف في النطاق تعثر فيه على رقم البند المطلوب)... والله أعلى وأعلم.1 point
-
1 point
-
1 point
-
الساعه الواحده بتظهر 13 والساعه الثانيه بتظهر 14 لو أمكن الساعه الواحدة تظهر 1 والثانية 2 وهكذا المواعيد.xlsb1 point
-
1 point
-
1 point
-
وعليكم السلام ورحمة الله وبركاته .. جرب المعادلة التالية في الخلية 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; "كفؤ"; "درجة غير صحيحة")))))1 point
-
لكم الأجر والثواب .. شكراً لكم مهندس جمال على مروركم وإطرائكم1 point
-
وعليكم السلام ورحمة الله وبركاته .. طبعاً الكود لن يعمل لأن أسماء الحقول والشروط مختلفة عن مشروعك ومسميات عناصرك ومربعات النص والحقول .. جرب هذا الملف ، حيث استعملت مصدر التقرير نفسه ليعرض القيم ، ليصبح :- 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.zip1 point
-
1 point
-
1 point
-
1 point
-
في هذه المدونة المتواضعة ، سأقوم بإدراج جميع الأعمال التي قمت بها ، مقسمة إلى أقسام .. 1️⃣ ⭐ مستورد السجلات الذكي 2025⭐ 2️⃣ ⭐ تفقيط و تحويل الفترات الزمنية إلى نص⭐ 3️⃣ ⭐ أداة النسخ الاحتياطي والاستعادة لقواعد بيانات اكسيس 2025⭐ 4️⃣ ⭐ نظام مراقبة الطابور وحجز الدور في المنشئات 2025⭐ 5️⃣ ⭐ مرسال الواتس أب الجديد 2025⭐ 6️⃣ ⭐ كيف تغير اللغة في برامجك 2024⭐ 7️⃣ ⭐ متعقب التغييرات الذكي 2024⭐ 8️⃣ ⭐ طريقة ابداعية للتحديث من خلال الانترنت 2024⭐ 9️⃣ ⭐ تغيير لغة النظام في Unicode ⭐ 1️⃣0️⃣ ⭐ حضور وإنصراف الموظفين⭐ 1️⃣1️⃣ ⭐ أداة تحويل ملفات PDF متعددة الوظائف 2025⭐ 1️⃣2️⃣ ⭐ أداة تحليل وإدارة أكواد اكسيس - Access Code Explorer⭐ 1️⃣3️⃣ ⭐ قاتل الترميش والوميض في اكسيس⭐ 1️⃣4️⃣ ⭐ إرسال بريد إلكتروني من Gmail الى أي إيميل⭐ 1️⃣5️⃣ ⭐ مزيل التكرارات الذكي 2025⭐ 1️⃣6️⃣ ⭐ مراقب لوحة المفاتيح ومنع إضافة لغات مدمجة من ملفات اكسيس⭐ 1️⃣7️⃣ ⭐ أداة بسيطة لتفحص حالة رقم الواتس أب 2025⭐ 1️⃣8️⃣ ⭐ كاسر ملفات آكسيس Accde - واستخراج محتوى قواعد البيانات⭐ ( موضوع تم حذفه لخطورته ) - نسخة 32 | نسخة 64 ( الصورة للواجهة من الإصدار الجديد القيد التطوير ، وليست للإصدار المرفق في الروابط أعلاه ) 1️⃣9️⃣ ⭐ صانع الجداول الذكي 2024⭐ 2️⃣0️⃣ ⭐ مراقب لوحة المفاتيح ومنع إضافة لغات مدمجة من ملفات اكسيس ⭐ 2️⃣1️⃣ ⭐ تثبيت تطبيق واتس اب على ويندوز سيرفر 2022 ⭐ 2️⃣2️⃣ ⭐ مواقيت الصلاة 2024 ⭐ 2️⃣3️⃣ ⭐ ساعة رقمية إعلانية ⭐ 2️⃣4️⃣ ⭐ المنبه الذكي 2024 ⭐ 2️⃣5️⃣ ⭐ صانع القوائم المختصرة 2026 ⭐ ( نسخة محدثة ) 2️⃣6️⃣ ⭐ مختبر فوكش الكيميائي التفاعلي - 2026 2️⃣7️⃣ ⭐ نظام إرسال الرسائل القصيرة SMS من اكسيس ⭐ ( نسخة محدثة ) سيتم إضافة مواضيع جديدة ، لم يتم تحديث المدونة بها 😇1 point
-
Version 1.1
165 تنزيل
السلام عليكم ورحمة الله وبركاته 🙂🖐 بفضل الله وتوفيقه أقدم لكم تصميم نظام تسجيل دخول + نظام صلاحيات متطور حاولت تبسيطه للمستخدم والمستفيدين منه لاحقا قدر المستطاع .. وسأبدأ بواجهة تسجيل الدخول المتواضعة : المزايا : حفظ بيانات دخول المستخدم (اختياري) الدخول مباشرة بمجرد كتابة كلمة المرور بشكل صحيح (تسريع عملية الدخول) ملاحظة : جميع كلمات المرور في البرنامج : 123 ثانيا الواجهة الرئيسية : يتم تطبيق الصلاحيات للمستخدم بمجرد تسجيل الدخول .. ثالثا : إدارة المستخدمين هنا يتم إدارة جميع ما يتعلق بمستخدمي البرنامج ( إضافة ، تعديل ، حذف ، تعيين الصلاحيات ) رابعا : إدارة مجموعات العمل والصلاحيات لكل مجموعة هنا يتم ضبط الصفحات المسموح لكل مجموعة دخولها والصلاحيات الخاصة بكل صفحة .. ومثل ماهو واضح يمكن إضافة النماذج أو إزالتها كما يحلو لك وبعد ضبط مجموعات العمل يتم تعيين كل مستخدم للمجموعة الخاصة به ، ويمكن عمل مجموعة خاصة لشخص واحد فالخيارات غير محدودة .. 🙂 الآن يمكنك الخروج من البرنامج ثم تجربة تسجيل الدخول باسم المستخدمين المسجيلين في البرنامج للاستمتاع بتجربة الصلاحيات الممنوحة لكل مستخدم 😊 وبعد الدخول للصفحات يتم تطبيق الصلحيات الخاصة بالنموذج أيضا .. وبقية الصلاحيات ستظهر حسب الزر الذي يتم الضغط عليه مزايا إضافية موجودة في البرنامج .. ولها علاقة بالأمان أيضا .. نظام النسخ الاحتياطي وله إعدادات خاصة به (نسخ احتياطي يدوي أو تلقائي ) وهو موجود في صفحة إعدادات البرنامج : ولكل مستخدم مجموعة خيارات يمكنه التحكم بها مثل ( تغيير كلمة المرور ، التشغيل عند إقلاع الجهاز ، إنشاء اختصار في سطح المكتب ، حفظ بيانات التسجيل لتسريع الدخول للبرنامج) هذه هي أهم الميزات التي يحتويها البرنامج 🙂 ولفتح البرنامج في وضع التصميم ، حتى هذي سهلة للمبرمج 😅🖐 في صفحة تسجيل الدخول وكذلك الصفحة الرئيسية يوجد هذا الزر الخاص بالمبرمج >> بعد الضغط عليه >> أدخل كلمة المرور : 123 ويمكنك تغييرها من الكود الخاص بالزر .. بتظهر لك هذي النافذة الخاصة بالمبرمج فقط : وأهم ما فيها : (1) عرض الشريط العلوي ونافذة الأكسس >> بعد تفعيله تحفظ وتشغل الماكرو وبتنفتح عندك واجهة الأكسس >> أعد تشغيل البرنامج من جديد للحصول على جميع الميزات. (2) اسم نموذج البداية >> وهو أو نموذج بيشتغل معاك في البرنامج >> وهذا يسهل على المبرمج تطبيق النظام على أي برنامج آخر 🙂 (3) اسم البرنامج (واللي ييظهر في الشريط العلوي للأكسس) : (4) رقم الإصدار (نسخة البرنامج) وتاريخها >> ويمكن الاعتماد عليها لتحديث البرنامج لاحقا .. (5) إدارة نماذج الصلاحيات >> وهي النماذج اللي ستسمح بإعطاء صلاحيات لدخولها للبرنامج .. وكذلك تعطي كل نموذج اسم صديق للمستخدم وسيتم استخدام المسمى الحقيقي للنموذج داخليا .. وهكذا أكون شرحت لكم أهم المميزات ويتبقى نقطة مهمة وهي : يمكن للمبرمج الآن الاستفادة من هذا الملف فهو قاعدة جاهزة لإنطلاق في تصميم برنامجك الخاص .. جميع الأكواد الخاصة بالصلاحيات ستجدها في الموديول التالي : وأهم ما ستحتاج معرفته في كيفية تطبيق الصلاحيات ذكرته في الملاحظات المكتوبة أول الموديول : ' (1) : لتطبيق صلاحية فتح النماذج وصلاحيات الإضافة والتعديل والحذف تضع الأسطر التالية أول الأكواد في حدث فتح النموذج '------------------------------------------------------------------------------- 'Private Sub Form_Open(Cancel As Integer) ' ' فحص صلاحة دخول النموذج ' Cancel = Not Permission_OpenForm(Me.Name, True) ' ' تطبيق صلاحيات : الإضافة / التعديل / الحذف ' Apply_Addition_Edits_Delete_Permissions (Me.Name) 'End Sub '------------------------------------------------------------------------------- ' (2) : لتطبيق صلاحيات الطباعة والاستيراد والتصدير داخل نموذج معين تكتب هذه الأسطر لمعرفة وجود الصلاحة من عدمها ' : وكل سطر من هذه الصلاحيات يرجع لك النتيجة كما يلي ' True : مسموح ' False : ممنوع '------------------------------------------------------------------------------- ' 1- فحص صلاحية الطباعة (True/False) ' Permission_Print(Me.Name , True) ' |_>> (True/False) : هذه الجزئية اختيارية لعرض رسالة تنبيه عند عدم وجود صلاحية من عدمها ' 2- فحص صلاحية الاستيراد (True/False) ' Permission_Import(Me.Name , True) ' |_>> (True/False) : هذه الجزئية اختيارية لعرض رسالة تنبيه عند عدم وجود صلاحية من عدمها ' 3- فحص صلاحية التصدير (True/False) ' Permission_Export(Me.Name , True) ' |_>> (True/False) : هذه الجزئية اختيارية لعرض رسالة تنبيه عند عدم وجود صلاحية من عدمها '------------------------------------------------------------------------------- والنماذج الموجودة في البرنامج مع أزرارها تم تطبيق الأكواد عليها بشكل عملي << راجعها وأدرسها لمعرفة كيفية عملها .. وهي سهلة يسيرة بفضل الله 🙂 وهذا مثال عملي لتطبيق الصلاحية على زر الطباعة (فتح التقرير) مثلا : وهكذا بقية الصلاحيات (اطلع على بقية الموديول) تم تحويلها لأسطر قليلة بسيطة للاستفادة منها بكل يسر .. 🙂 :: 🌹 وآخر دعوانا أن الحمد لله رب العالمين 🌹 ::1 point -
أحسنت استاذ جعفر ... كود ممتاز جزاك الله كل خير وأحسن الله اليك1 point
-
وعليكم السلام-دائماً وأبداً لابد من تدعيم اى مشاركة بملف موضح فيه المطلوب بكل دقة...فيمكنك استخراج الرقم 2018 بالمعادلة التالية =LEFT(AD1,LEN(AD1)-FIND("-",AD1)) أما 2019 بالمعادلة التالية =RIGHT(AD1,LEN(AD1)-FIND("-",AD1))1 point
-
تفضل يمكنك استخدام هذه المعادلة (Ctrl+Shift+Enter) =IFERROR(INDEX($C$3:$C$40,SMALL(IF(($C$3:$C$40<=$I$3)*($C$3:$C$40>=$I$2)*($B$3:$B$40=$K$2),MATCH(ROW($C$3:$C$40),ROW($C$3:$C$40)),""),ROW(A1)),COLUMN(A1)),"") Item Card1.xlsx1 point
-
1 point
-
1 point
-
وعليكم السلام .دائماً وأبداً ننبه كثيراً على عدم دمج الخلايا لسهولة التعامل مع ملف الإكسيل ,,, تــم الغاء دمج الخلايا لحسن عمل المعادلات وتم وضع كود للطباعة نموذج ادخال البيانات1.xlsm1 point
-
الأخوة الكرام بحسب ما هو مكتوب فى الموضوع المثبت بشأن قواعد اضافة الطلبات و العروض هنا يرجي وضع وسائل التواصل عند اضافة موضوع لان الحوار حول الموضوع غير مسموح به لكي يستطيع من يرغب التواصل معك مباشرة بخلاف ذلك سيتم حذف الموضوع1 point