بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation since 05/02/26 in all areas
-
السلام عليكم ورحمة الله وبركاته 🙂🖐 يقول المثل : أن تأتي متأخرا خير من أن لا تأتي 😅✌ بعد جهد جهيد إنتهيت من تصميم نظام تسجيل دخول + نظام صلاحيات متطور كلما أخطو فيه خطوة أجد أنه ناقص وتطلع أفكار جديدة .. 😅👊 لذلك قلت سأنزلها كما هي الآن .. حاولت تبسيطه للمستخدم والمستفيدين منه لاحقا قدر المستطاع .. وسأبدأ بواجهة تسجيل الدخول المتواضعة : المزايا : حفظ بيانات دخول المستخدم (اختياري) الدخول مباشرة بمجرد كتابة كلمة المرور بشكل صحيح (تسريع عملية الدخول) ملاحظة : جميع كلمات المرور في البرنامج : 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) : هذه الجزئية اختيارية لعرض رسالة تنبيه عند عدم وجود صلاحية من عدمها '------------------------------------------------------------------------------- والنماذج الموجودة في البرنامج مع أزرارها تم تطبيق الأكواد عليها بشكل عملي << راجعها وأدرسها لمعرفة كيفية عملها .. وهي سهلة يسيرة بفضل الله 🙂 وهذا مثال عملي لتطبيق الصلاحية على زر الطباعة (فتح التقرير) مثلا : وهكذا بقية الصلاحيات (اطلع على بقية الموديول) تم تحويلها لأسطر قليلة بسيطة للاستفادة منها بكل يسر .. 🙂 وأخيرا تحميل البرنامج :: Moosak Login System with permissions 1.0.zip :: وآخر دعوانا أن الحمد لله رب العالمين ::7 points
-
اعرض الملف نظام تسجيل دخول احترافي، مع نظام صلاحيات متعدد المستويات السلام عليكم ورحمة الله وبركاته 🙂🖐 بفضل الله وتوفيقه أقدم لكم تصميم نظام تسجيل دخول + نظام صلاحيات متطور حاولت تبسيطه للمستخدم والمستفيدين منه لاحقا قدر المستطاع .. وسأبدأ بواجهة تسجيل الدخول المتواضعة : المزايا : حفظ بيانات دخول المستخدم (اختياري) الدخول مباشرة بمجرد كتابة كلمة المرور بشكل صحيح (تسريع عملية الدخول) ملاحظة : جميع كلمات المرور في البرنامج : 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) : هذه الجزئية اختيارية لعرض رسالة تنبيه عند عدم وجود صلاحية من عدمها '------------------------------------------------------------------------------- والنماذج الموجودة في البرنامج مع أزرارها تم تطبيق الأكواد عليها بشكل عملي << راجعها وأدرسها لمعرفة كيفية عملها .. وهي سهلة يسيرة بفضل الله 🙂 وهذا مثال عملي لتطبيق الصلاحية على زر الطباعة (فتح التقرير) مثلا : وهكذا بقية الصلاحيات (اطلع على بقية الموديول) تم تحويلها لأسطر قليلة بسيطة للاستفادة منها بكل يسر .. 🙂 :: 🌹 وآخر دعوانا أن الحمد لله رب العالمين 🌹 :: صاحب الملف Moosak تمت الاضافه 05/12/26 الاقسام قسم الأكسيس6 points
-
برنامج صغير خفيف .. يخدم الايجار اليومي وغيره ويصلح لأي خدمة ايجارات قابل للتطوير بمجرد تنفيذ اجراء الايجار يطبع فاتورة استلام .. وعند تنفيذ اجراء الارجاع يطبع فاتورة بالمبالغ المستحقة حاليا هذه الفواتير تفتح كتقارير يتم عرضها .. وهي مصممة للعمل على الطابعة الحرارية امل ان تجدوا المتعة والفائدة كلمة المرور = 1 Equps.rar6 points
-
استكمالاً للموضوع القديم هنا ، تم بحمد الله وفضله ؛ إطلاق النسخة الأولى من اللعبة الشهيرة الدومينو ، ولكن بنكهتي التي تعودت عليها 😊 .. اللعبة لن تحتاج شرح عنها ، سوى كيفية اللعب .. ضبط الإعدادات :- في نموذج البداية والمخصص لإعدادات اللعبة . انقر الزر لعبة محلية. اللاعب الأول = الخصم وهو الكمبيوتر . واللاعب الثاني هو أنت عزيزي اللاعب . من يبدأ اللعبة هو الذي يكون لديه حجر الدش الأكبر ( إن وجد ) ، أو اللاعب الذي لديه أكبر حجر . الرقم 100 هو رقم افتراضي للمجموع الذي سيكون الفائز من يصل إليه أولاً . نقاط الفوز = مجموع الأرقام في الحجارة التي في يد اللاعب الخسران . والفائز يحصل على مجموع النقاط هذه . صورة واجهة الإعدادات . كيفية اللعب على النسخة المحلية :- عند بدء اللعبة ، اللاعب الذي لديه أكبر حجر مزدوج ( الدش ) هو من يبدأ اللعب .. لمعرفة وظيفة كل زر فقط قف عليه لتعرف ظيفته في اللعبة ، وعدد الأزرار = 4 وهي :- زر بدء الجولة الجديدة . * زر سحب حجر من الكومة ( عندما لا يكون لديك او لدى الكمبيوتر حجر صالح للعب ) . * زر تسليم الدور . ويكون متاحاً عندما لا يكون لدى الكومة ( البنك ) حجارة ، وبالطبع عندما لا يكون لديك حجر صالح لتلعبه بينما الكمبيوتر أو اللاعب الآخر لديه حجر صالح للرمي . أما عند عدم وجود حجارة صالح للرمي مع كلا الطرفين ( ولم يتبق حجارة في الكومة - البنك - ) فتكون اللعبة قد أغلقت ، والنتيجة تحسم لصاحب العدد الأقل مجموعاً للحجارة بالفوز . * زر الغش 😁 ، وهو زر كشف حجارة الكمبيوتر . وعكسه زر الإخفاء . اللعب سيكون بالنقر المزدوج على الحجر الصالح للرمي بيدك . عند وجود حجر صالح للرمي باتجاهين ، لديك الحرية باختيار الجهة التي تريد رميه فيها بظهور مستطيل وهمي يمثل موقع الحجر . ( ستلاحظونه أثناء اللعب بسهولة و وضوح ) . صورة واجهة اللعبة . فيديو توضيحي لطريقة اللعب :- التحميل للإصدارين 32 و 64 من هنا . وقد تم رفعه على جوجل درايف لأن حجم الملف تقريباً بحدود 9 ميجا مع مجلد الصور .5 points
-
السلام عليكم الموقع https://zingl.github.io يعرض طريقة لعمل الباركود Code128, QR, Aztec, DataMatrix بالكود ويدون الاستعانة ببرامج خارجية. في الموقع مرفق اكسس (وقد عملت تعديل بسيط عليه لعمل الصور التالية ، والمرفق موجود في اسفل المشاركة) ، وهنا اعرض مثالين على العرض: . . طبعا Code128 غير مناسب للكلمات الطويلة. الكود يقوم بعرض الباركود داخل حقل نص Textbox ، وهو يستعمل Line لعمل الباركود : . المشكلة ان الاكسس يقوم بتنفيذ الامر Line على خلفية التقرير/النموذج ، وبعدها يقوم بعرض بقية الكائنات ، بمعنى ، اذا وضعنا كائن/حقل صورة خلف حقل نص الباركود ، فاننا لا نستطيع رؤية الباركود ، لأنه اصبح خلف الصورة. في الصورة التالية ، التقرير الاول هو ما تم عرضه سابقا ، بينما في التقرير الثاني وضعت صورة زرقاء خلف كائنات/حقول الباركود: . ونتيجة التقرير الثاني: . مع وجود الصورة في الخلف ، المطلوب اظهار الباركود على الصورة ، وبأي طريقة. من تجربتي ، لإظهار الباركود ، يجب وضعه في كائن/حقل صورة ، امام الصورة الخلفية. ارفق لكم من نفس الموقع ، مرفق اكسل كذلك. ومن موقع www.lebans.com ارفق قاعدة البيانات A2KPictureBoxVer35.accdb ، والتي بها نموذج و مكتبات قد تساعد الذكاء الاصطناعي بالعمل (نعم ، قد يحتاج الى مساعدتك في توجيهه). QR_barcode.accdb A2KPictureBoxVer35.accdb barcode.xlsm4 points
-
4 points
-
ممكن وبكل سهولة هذا البرنامج يسهل عليك أدخال الدرجات والتاريخ كذلك الشرح يطول ولكن ثق تماما أنك بمجرد أن تفتحه وتثبت الماكرو وتستخدمه ستفهم البرنامج ثم بعد التجربة أذا أردت أي توضيح نحن في الخدمة محرر الأكواد مفتوح ويمكنك التعديل عليه كما تريد الطريقة : افتح ملفك الذي تريد الأدخال فيه ثم افتح هذا الملف ثم اضغط على إحدى الأيقونتين (الدرجات أو التاريخ) وعندما يفتح الفورم انتقل مباشرة إلى ملفك الذي تريد الأدخال فيه ستجد أن الفورم ينتقل إلى الملف الجديد تفضل إدخال الدرجات والتاريخ.xls4 points
-
وعليكم السلام ورحمة الله وبركاته .. اعجبتني الفكرة ، و وددت المشاركة بالتالي .. ما عليك فعله بيدك حتى تنجح الفكرة .. في المديول :- الخطوة الأولى اذهب للدالة :- Private Function ExitTimer() As Boolean وقم بحذف السطر :- Call DeleteObject(hRgn1) الخطوة الثانية أيضاً اذهب للدالة :- Public Function GenerateExit() 'MyForm As Form) وأضف بعد هذا السطر :- Do Until ExitTimer() السطر DoEvents ، لتصبح جملة الحلقة :- Do Until ExitTimer() DoEvents Sleep clngTimerInterval Loop وبعد هذه الحلقة مباشرة ، أضف السطر التالي :- Call DeleteObject(hRgn) وعليه ، فأن الملف كاملاً بعد هذه التعديلات يصبح :- db.mdb3 points
-
السلام عليكم ورحمة الله وبركاته.. تقبل الله طاعاتكم ، ومبارك على الجميع عيد الأضحى المبارك.. من باب السؤال والنقاش . هل من الممكن فعلاً أن نجعل التقرير يعرض الباركود ولكن بدل ما نرسم الباركود على أرضية التقرير ، أن يتم الرسم على أرضية عنصر صورة غير منضم 🤔 !! بمعنى آخر ، نستغل فكرة من المرفق الثاني ودمجها في النتيجة المطلوبة وبالتالي لن نحتاج صورة محفوظة أساساً !!! الفكرة تتلخص بالمرفق التالي بعد تشريح الأكواد وإزالة ما ليس له عمل لتطبيق الفكرة ، وإضافة الكلاس clsPictureBox واستغلال فكرة التنفيذ من الزر Start Draw with Mouse في المرفق A2KPictureBoxVer35 الأصلي من المشاركة الأولى ، بحيث جعلت الفكرة تقوم على رسم رمز الـ QR والـ Code128 😅 . وأشعر بأنها فكرة قد لا تكون ذكية .. ولكن كتجربة مختلفة عما تفضل به الأساتذة وجعلها تعمل على النواتين 32 و 64 :- QR_barcode.accdb3 points
-
التشاؤم قد يكون سبباً في جعلنا نهز الشوك في وروده لشم عبيره في لحظة من اللحظات 😅 أتمنى أن نجد التفاعل الذي نتمناه جميعاً3 points
-
وعليكم السلام -تفضل معادلتين لطلبك .اختر منهما ما تشاء =MIN(IF(($C$7:$C$32=$M7)*($G$7:$G$32=""),$E$7:$E$32)) =MINIFS($E$7:$E$32,$C$7:$C$32,$M7,$G$7:$G$32,"") استخراج تاريخ اقدم الفاتورة-1.xlsx3 points
-
السلام عليكم 🙂 كانت لنا تجربة في عمل لقاءات لأعضاء مجموعة الأكسس على الواتسأب وتم نشر الراوابط على مستوى أوسع .. وهذه روابط الللقاءات التي تمت : ولكن تم التوقف عنها لاحقا للأسف بسبب ضعف المشاركة والحضور .. 💔3 points
-
بصراحة أنا رأيي مختلف فالطريقة الثانية سيكون التقرير فيها أخف لأنها لن تتطلب منك إنشاء تقرير إضافي وإضافة عنصر تحكم التقرير الفرعي هذا مثال لسيناريو محتمل سنفترض أن المطلوب تصميم تطبيق لإصدار البطائق وفق التصميم التالي عندها سنطلب ممن قام بتصميمها بإن يجعل منطقة الـ QRCode شفافة أو تحديدها كمربع 2×2 سم مثلا (للعلم انا قمت بهذه العملية بطريقة بدائية بإستخدام تطبيق Photos التابع لويندوز وستكون النتيجة أفضل إذا قام بها محترف فوتوشوب) قمت بإستخدام الصورة المعدلة فحصلت على النتيجة التالية ومرفق لكم المثال بعد التعديل تحياتي QR_barcode_New2.rar3 points
-
وانا كذلك ما كانت عندي مشكلة. وللاجابة على السؤال وحسب ما قرأت : النماذج/التقارير المنبثقة ، ولأنه بإمكانك اخراجها من اطار برنامج الاكسس ، فيتعامل معها الوندوز ، وتأخذ الاتجاه حسب اتجاه اعدادات الوندوز ، يميناّ او يساراّ ، بينما النماذج ولأنها داخل اطار الاكسس ، فيتم التعامل معها بإعدادات الاكسس ، فتتوسط عرض النموذج. عملت هذه الحيلة: 1. جعلت النموذج بدون برواز . 2. اضفت كائن مسمى واسميته lbl_Move_Form ، ويمكنك تغيير اتجاهه حسب رغبتك . 3. استخدمت الكود التالي لتحريك النموذج ، بعد النقر على هذا الكائن Dim moveFrm As Boolean Dim xDrag As Long Dim yDrag As Long ' Private Sub lbl_Move_Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) moveFrm = True xDrag = X yDrag = Y End Sub Private Sub lbl_Move_Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim xx As Long Dim yy As Long If moveFrm = True Then xx = Me.WindowLeft + X - xDrag yy = Me.WindowTop + Y - yDrag Me.Move xx, yy End If End Sub Private Sub lbl_Move_Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim xx As Long Dim yy As Long xx = Me.WindowLeft + X - xDrag yy = Me.WindowTop + Y - yDrag Me.Move xx, yy moveFrm = False End Sub . والنتيجة 1646.Form_Caption_Direction.mdb3 points
-
السلام عليكم كما في العنوان حسابات جارية للأموال الواردة والمنصرف لشركة محددة وفروعها ضمن حساب موحد للشركة اما ان كانت حاجتك مثل هذا ولكن تريد لكل فرع حسابه الخاص وقيود مزدوجة فستجد بغيتك هنا تحويلات من الصندوق واليه حساب الواردات حساب المصاريف تقرير تفصيلي حسب الطلب مجاميع وتفقيط رواتب الموظفين .. حسب الموظف الواحد وفرعه او حسب موظفي فرع او جميع موظفي الشركة ... فقط بضغطة زر مميزات البرنامج : 1- تقسيم قاعدة البيانات 2- اضافة شاشة دخول ومستخدمين الادمن كلمة المرور =78 البقية كلمة المرور =1 ولمسات اخرى وخصائص وخدمات تجدونها عند تصفح البرنامج المرفقات : النسخة الاولى .. يتبع تطوير AccUpPrg2.rar3 points
-
Version 1.1
55 تنزيل
السلام عليكم ورحمة الله وبركاته 🙂🖐 بفضل الله وتوفيقه أقدم لكم تصميم نظام تسجيل دخول + نظام صلاحيات متطور حاولت تبسيطه للمستخدم والمستفيدين منه لاحقا قدر المستطاع .. وسأبدأ بواجهة تسجيل الدخول المتواضعة : المزايا : حفظ بيانات دخول المستخدم (اختياري) الدخول مباشرة بمجرد كتابة كلمة المرور بشكل صحيح (تسريع عملية الدخول) ملاحظة : جميع كلمات المرور في البرنامج : 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) : هذه الجزئية اختيارية لعرض رسالة تنبيه عند عدم وجود صلاحية من عدمها '------------------------------------------------------------------------------- والنماذج الموجودة في البرنامج مع أزرارها تم تطبيق الأكواد عليها بشكل عملي << راجعها وأدرسها لمعرفة كيفية عملها .. وهي سهلة يسيرة بفضل الله 🙂 وهذا مثال عملي لتطبيق الصلاحية على زر الطباعة (فتح التقرير) مثلا : وهكذا بقية الصلاحيات (اطلع على بقية الموديول) تم تحويلها لأسطر قليلة بسيطة للاستفادة منها بكل يسر .. 🙂 :: 🌹 وآخر دعوانا أن الحمد لله رب العالمين 🌹 ::3 points -
لم أعرف أي التقريرين تريد تطبيق طلبك عليه ولكني رأيت أن تقرير (مناداة قديم) هو الاقرب فقمت بتنفيذ الحل فيه ارجو أن يكون هذا الحل هو ماتريده بالضبط تحياتي 111.rar3 points
-
السلام عليكم ورحمه الله وبركاته بعد اذن استاذنا @عبدالله بشير عبدالله ممكن تستخدم الملفات المرفقه للاضافه الدول عندك كيفية اضافة معادلة البحث XLOOKUP و الدالة Xmatch لاوفيس 2019-2016- 2010 - 2007 – 2003 XFunctions.7z3 points
-
وعليكم السلام ورحمة الله وبركاته دالة XLOOKUP غير متوفرة في الإصدارات القديمة مثل Excel 2010 و2016 و2019، وهي موجودة فقط في Excel 2021 وما بعده، وكذلك في إصدارات Microsoft 365 احدى البدائل INDEX + MATCH3 points
-
شاشة فريدة وحيدة exe التصميم على vb6 علما انه يوجد في مكتبتي نسخة من هذه الشاشة على اكسس .. ولكني ارى ان هذه اخف وتعمل على اي جهاز وهذا هو الكود المسؤول باستخدام المعادلة الطبية الظاهرة هذه المعادلة قد يستفيد منها من يريد اضافة هذه الميزة الى برنامجه الطبي Private Sub Command1_Click() On Error Resume Next Dim Dday As Integer Dim i As Double Dim sc As Integer Dim d1 As Date Dim s1 As String Dim m1 As Date 'Calendar = vbCalGreg i = DateDiff("d", Date, Text1.Text) w1.Text = Abs(i \ 7) dx.Text = Abs(i Mod 7) m1 = DateAdd("d", 280, Text1) Dday = Weekday(m1) If Dday = 1 Then yom.Text = "الأحد" If Dday = 2 Then yom.Text = "الاثنين" If Dday = 3 Then yom.Text = "الثلاثاء" If Dday = 4 Then yom.Text = "الأربعاء" If Dday = 5 Then yom.Text = "الخميس" If Dday = 6 Then yom.Text = "الجمعة" If Dday = 7 Then yom.Text = "السبت" 'Calendar = vbCalHijri h1 = Format(m1, "YYYY/MM/DD") End Sub حساب الحمل.rar3 points
-
وعليكم السلام ورحمة الله وبركاته حسب علمي في Microsoft Excel لا يمكن الانتقال لخلية أخرى “تلقائيًا بالكامل” أثناء الكتابة بدون أي إجراء من المستخدم، لأن الخلية تبقى في وضع التحرير حتى يتم تأكيد الإدخال. لكن يمكن بطريقة اخرى عن طريق فورم بحيث يتم فتح الفورم ثم اختيار اول خلية المراد ادخال الدرجة اليها ويكون الامر تلقائيا والتكست بوكس يتعامل مع اي عمود بشرط تحديد بداية اول للدرجات والكود يتعامل مع درجتين مثل 15 او 45 فبمجرد الانتهاء من كتابة الرقم الثاني يتنقل المؤشر تلقائيا الى الخلية التي اسفل منها اذا وجدت درجات من رقم واحد مثل 7 يجب كتابتها في التكست بوكس 07 اذا كانت لديك درجات من 3 ارقام مثل 123 يتم التعديل بالكود في الجزء If Len(v) >= 2 Then يتم تعديل 2 الى 3 ادخال الدرجات.xlsb3 points
-
السلام عليكم ورحمة الله وبركاته .. 🙂 نزولا عند رغبة شيخنا الفاضل @ابوخليل تم إضافة تحسين بسيط على دالة التفقيط المبسطة لتعميم الفائدة .. طبعا الدالة كانت تأخذ 3 أرقام من كسر العملة هكذا ( 143.487 ) وهذا ينطبق على بعض العملات كالريال العماني والبيسة العمانية بينما أن هناك الكثير من العملات تعتمد 2 رقمين لكسر العملة مثال الريال والهللة السعودية والجنيه والقرش المصري هكذا ( 123.45 ) والتعديل الذي تم إجراؤه هو إضافة معامل رابع للدالة للتحكم في هذا الاختلاف واختيار عدد أرقام كسر العملة 2 أو 3 حسب الحاجة .. بدون إطالة إليكم الدالة كاملة .. وكذلك تم إضافة ملف جاهز ليبين طريقة الاستخدام : 🙂 Option Compare Database Option Explicit Function NoToTxt(TheNo As Double, _ MyCur As String, _ MySubCur As String, _ Optional FractionDigits As Integer = 3 _ ) As String '---------------------------------- ' دالة التفقيط المحسنة ' TheNo : المبلغ ' MyCur : العملة الرئيسية ' MySubCur : جزء العملة ' FractionDigits : عدد أرقام جزء العملة 2 أو 3 '---------------------------------- ' : أمثلة على الاستخدام ' NoToTxt(15.436, "ريال عماني", "بيسة") ' NoToTxt(15.43, "ريال", "هللة", 2 ) ' NoToTxt2(15.436, "ريال", "بيسة", 3) '---------------------------------- Dim MyArry1(0 To 9) As String Dim MyArry2(0 To 9) As String Dim MyArry3(0 To 9) As String Dim Myno As String Dim GetNo As String Dim RdNo As Integer Dim My100 As String Dim My10 As String Dim My1 As String Dim My11 As String Dim My12 As String Dim GetTxt As String Dim Mybillion As String Dim MyMillion As String Dim MyThou As String Dim MyHun As String Dim MyFraction As String Dim MyAnd As String Dim i As Integer Dim ReMark As String Dim IntegerPart As Double Dim FractionPart As Long Dim ScaleNo As Double ' عدد خانات الكسر المسموح بها ' الدالة الحالية تقرأ الجزء العشري كمجموعة من 3 أرقام، لذلك الحد الأعلى 3 If FractionDigits < 0 Then FractionDigits = 0 If FractionDigits > 3 Then FractionDigits = 3 If Abs(TheNo) > 999999999999.999 Then Exit Function If TheNo < 0 Then TheNo = TheNo * -1 ReMark = "عليه مبلغ " Else ReMark = "له مبلغ " End If If TheNo = 0 Then NoToTxt = "صفر" Exit Function End If MyAnd = " و" MyArry1(0) = "" MyArry1(1) = "مائة" MyArry1(2) = "مائتان" MyArry1(3) = "ثلاثمائة" MyArry1(4) = "اربعمائة" MyArry1(5) = "خمسمائة" MyArry1(6) = "ستمائة" MyArry1(7) = "سبعمائة" MyArry1(8) = "ثمانمائة" MyArry1(9) = "تسعمائة" MyArry2(0) = "" MyArry2(1) = " عشر" MyArry2(2) = "عشرون" MyArry2(3) = "ثلاثون" MyArry2(4) = "اربعون" MyArry2(5) = "خمسون" MyArry2(6) = "ستون" MyArry2(7) = "سبعون" MyArry2(8) = "ثمانون" MyArry2(9) = "تسعون" MyArry3(0) = "" MyArry3(1) = "احدى" MyArry3(2) = "اثنان" MyArry3(3) = "ثلاثة" MyArry3(4) = "اربعة" MyArry3(5) = "خمسة" MyArry3(6) = "ستة" MyArry3(7) = "سبعة" MyArry3(8) = "ثمانية" MyArry3(9) = "تسعة" '====================== ' تجهيز الرقم حسب عدد الخانات المطلوبة بعد الفاصلة ' مثال: ' FractionDigits = 2 يجعل 15.436 تقرأ كـ 15.44 ' FractionDigits = 3 يجعل 15.436 تقرأ كـ 15.436 TheNo = Round(TheNo, FractionDigits) IntegerPart = Fix(TheNo) If FractionDigits = 0 Then FractionPart = 0 Else ScaleNo = 10 ^ FractionDigits FractionPart = CLng(Round((TheNo - IntegerPart) * ScaleNo, 0)) End If ' معالجة حالة التقريب التي قد ترفع الجزء العشري إلى 100 أو 1000 If FractionDigits > 0 Then If FractionPart >= ScaleNo Then IntegerPart = IntegerPart + 1 FractionPart = 0 End If End If ' الجزء الصحيح 12 رقم + الجزء العشري دائمًا 3 أرقام داخليًا ' عند اختيار خانتين مثلًا 44 يتم تخزينها كـ 044 حتى تُقرأ أربعون وأربعة GetNo = Format(IntegerPart, "000000000000") & "." & Format(FractionPart, "000") i = 0 '=============== Do While i < 16 My100 = "" My10 = "" My1 = "" My11 = "" My12 = "" GetTxt = "" If i < 12 Then Myno = Mid$(GetNo, i + 1, 3) Else Myno = Mid$(GetNo, i + 2, 3) End If If Val(Mid$(Myno, 1, 3)) > 0 Then RdNo = Val(Mid$(Myno, 1, 1)) My100 = MyArry1(RdNo) RdNo = Val(Mid$(Myno, 3, 1)) My1 = MyArry3(RdNo) RdNo = Val(Mid$(Myno, 2, 1)) My10 = MyArry2(RdNo) If Val(Mid$(Myno, 2, 2)) = 11 Then My11 = "احدى عشر" If Val(Mid$(Myno, 2, 2)) = 12 Then My12 = "اثني عشر" If Val(Mid$(Myno, 2, 2)) = 10 Then My10 = "عشرة" If Val(Mid$(Myno, 1, 1)) > 0 And Val(Mid$(Myno, 2, 2)) > 0 Then My100 = My100 & MyAnd End If If Val(Mid$(Myno, 3, 1)) > 0 And Val(Mid$(Myno, 2, 1)) > 1 Then My1 = My1 & MyAnd End If GetTxt = My100 & My1 & My10 If Val(Mid$(Myno, 3, 1)) = 1 And Val(Mid$(Myno, 2, 1)) = 1 Then GetTxt = My100 & My11 If Val(Mid$(Myno, 1, 1)) = 0 Then GetTxt = My11 End If If Val(Mid$(Myno, 3, 1)) = 2 And Val(Mid$(Myno, 2, 1)) = 1 Then GetTxt = My100 & My12 If Val(Mid$(Myno, 1, 1)) = 0 Then GetTxt = My12 End If If i = 0 And GetTxt <> "" Then If Val(Mid$(Myno, 1, 3)) > 10 Then Mybillion = GetTxt & " مليار" Else Mybillion = GetTxt & " مليارات" If Val(Mid$(Myno, 1, 3)) = 1 Then Mybillion = " مليار" If Val(Mid$(Myno, 1, 3)) = 2 Then Mybillion = " ملياران" End If End If If i = 3 And GetTxt <> "" Then If Val(Mid$(Myno, 1, 3)) > 10 Then MyMillion = GetTxt & " مليون" Else MyMillion = GetTxt & " ملايين" If Val(Mid$(Myno, 1, 3)) = 1 Then MyMillion = " مليون" If Val(Mid$(Myno, 1, 3)) = 2 Then MyMillion = " مليونان" End If End If If i = 6 And GetTxt <> "" Then If Val(Mid$(Myno, 1, 3)) > 10 Then MyThou = GetTxt & " الف" Else MyThou = GetTxt & " الاف" If Val(Mid$(Myno, 1, 3)) = 1 Then MyThou = " الف" If Val(Mid$(Myno, 1, 3)) = 2 Then MyThou = " الفان" End If End If If i = 9 And GetTxt <> "" Then MyHun = GetTxt If i = 12 And GetTxt <> "" Then If FractionDigits > 0 Then MyFraction = GetTxt End If End If End If i = i + 3 Loop '============================ If Mybillion <> "" Then If MyMillion <> "" Or MyThou <> "" Or MyHun <> "" Then Mybillion = Mybillion & MyAnd End If End If If MyMillion <> "" Then If MyThou <> "" Or MyHun <> "" Then MyMillion = MyMillion & MyAnd End If End If If MyThou <> "" Then If MyHun <> "" Then MyThou = MyThou & MyAnd End If End If If MyFraction <> "" Then If Mybillion <> "" Or MyMillion <> "" Or MyThou <> "" Or MyHun <> "" Then NoToTxt = ReMark & Mybillion & MyMillion & MyThou & MyHun & " " & MyCur & MyAnd & MyFraction & " " & MySubCur & " فقط" Else NoToTxt = ReMark & MyFraction & " " & MySubCur & " فقط" End If Else NoToTxt = ReMark & Mybillion & MyMillion & MyThou & MyHun & " " & MyCur & " فقط" End If End Function NoToTxt.accdb3 points
-
المعذرة اخوي منتصر ، احنا نتكلم عن النسخة في هذه المشاركة ، والتي يكون في اطرافها المساحة البيضاء الاضافية : . 2. الكود كان يأخذ اطول بكثير في العمل ، وكنت اسمع صوت CPU الجهاز يصرخ لأن جهازي قديم 🙂 1. في الواقع التقصير مني ما تطرقت للكود بعد ان حصلت على رسالة الخطأ ، فالمعذرة 😞2 points
-
تفضل اخي منتصر .. التعديلات التي تمت :- الدالة DrawAndSaveBarcode أصبحت :- Public Sub DrawAndSaveBarcode(txt As TextBox, img As Image, barcodeType As String, Optional bVertical As Boolean = False) Dim saveDir As String Dim fullPath As String Dim parentReport As Report Dim saveMode As String Dim shouldSave As Boolean On Error Resume Next Set parentReport = img.Parent If parentReport Is Nothing Then Set parentReport = img.Parent.Parent On Error GoTo 0 saveMode = "NoSave" If Not parentReport Is Nothing Then saveMode = Nz(parentReport.OpenArgs, "NoSave") End If shouldSave = False If saveMode = "SaveAll" Or saveMode = "SavePage" Then shouldSave = True End If If shouldSave Then saveDir = CurrentProject.Path & "\QRImg\" If Dir(saveDir, vbDirectory) = "" Then MkDir saveDir fullPath = saveDir & barcodeType & "_" & txt.Value & ".bmp" Else fullPath = "" End If If LCase(barcodeType) = "qr" Then Call drawQuickResponseToImage(txt, img, savePath:=fullPath) ElseIf LCase(barcodeType) = "code128" Then Call drawCode128(txt, img, , bVertical, savePath:=fullPath) End If End Sub الإستدعاءات في الأزرار أصبحت :- Private Sub cmdOpenWNavSave_Click() DoCmd.OpenReport "rpt_BG_img_Barcode", acViewPreview, , , , "SavePage" End Sub Private Sub cmdOpenWOSave_Click() DoCmd.OpenReport "rpt_BG_img_Barcode", acViewPreview, , , , "NoSave" End Sub Private Sub cmdOpenWSave_Click() DoCmd.OpenReport "rpt_BG_img_Barcode", acViewPreview, , , , "SaveAll" End Sub Private Sub cmdSave_Click() DoCmd.OpenReport "rpt_BG_img_Barcode", acViewPreview, , , acHidden, "SaveAll" DoCmd.Close acReport, "rpt_BG_img_Barcode", acSaveNo MsgBox "بنجاح QRImg تم توليد وحفظ جميع الصور في مجلد", vbInformation + vbMsgBoxRight, "" End Sub وفي التقرير أصبحت التمرير كالآتي :- Private Sub Report_Open(Cancel As Integer) On Error Resume Next If Nz(Me.OpenArgs, "") = "SaveAll" Then Me.TxtPages.ControlSource = "=[Pages]" Else Me.TxtPages.ControlSource = "" End If On Error GoTo 0 End Sub Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) Call DrawAndSaveBarcode(Me.FieldCode128, Me.ImgQR4, "Code128") Call DrawAndSaveBarcode(Me.FieldCode128, Me.ImgQR5, "Code128", True) Call DrawAndSaveBarcode(Me.FieldQRCode, Me.ImgQR2, "QR") End Sub أتمنى أن يلبي ها التعديل المطلوب . طبعاً بالإستعانة بنموذجك أخي منتصر 😉 . QR_Barcode - 5.accdb2 points
-
السلام عليكم ورحمة الله وبركاته كل عام وحضراتكم بخير حقيقة حثني الشوق الي المرور بالمنتدي بعد غيبة طالت فمررت لاعيد علي الاحبة فجذب انتباهي هذا التحدي الذي اثار فضولي ورغم قطع أخي @Foksh مجال النقاش إلا إني احببت أن ادلي بدلائي القاصرة وفكرة ربما تكون لم تطرق في مجال نقاش الموضوع من الأساتذة الكرام. الفكرة هو تحويل الكتابة من التقرير الي الكتابة علي كائن صورة - هذا الكائن المستعصي علي التعديل إلا ان المرفق الخاص بـ labins لفت الانتباه الي خاصية هامة في كائن الصورة DIB التي يمكن من خلالها حقن كائن الصورة بمجموعة من الداتا علي هيئة بايتس للرسم في اطار الصورة الفكرة كانت تحويل الخطوط المرسومة الي صورة ترسم بالذاكرة دون الحاجة الي حفظ صور خارجية ثم حقن كائن الصورة بالتقرير بالبايتس الموجودة بالذاكرة وكانت النتيجة كما يلي والمرفق بالاسفل لا ادعي انه اجتهاد محض مني ولكن هو ذلك الذكاء الاصطناعي الذي ابتلينا به او ان شئت قل هو الذي ابتلي بنا 😀 والمرفق بالاسفل ابقيت علي المودلز الاصلية والتي تم التعديل عليها اضفت اليها كلمة new قبل اسمها لتسهل عملية المقارنة وافردت مدل مستقل لرسم الصورة بالذاكرة ما استعصي علي هو ضبط ارتفاع code128 وجزاكم الله خيرا QR_barcode.accdb2 points
-
يعني انت تريد تنظيف الأكواد من الاعتماد على Tag كلياً ؟ فقط سنقوم بإزالة الجملة الشرطية التي تختص بالـ Tag ، من المديول ModulQRCode . If level = "" Then i = InStr(LCase(Text.Tag), "qrcode") If (i > 0 And i + 5 < Len(Text.Tag)) Then level = Mid(Text.Tag, i + 6, 1) End If تم نقل الدالة الى المديول وتحويلها الى Public ، وتنظيف أكواد التقرير ، والإعتماد فقط على الاستدعاء :- Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) Call DrawAndSaveBarcode(Me.FieldCode128, Me.ImgQR4, "Code128") Call DrawAndSaveBarcode(Me.FieldCode128, Me.ImgQR5, "Code128", True) Call DrawAndSaveBarcode(Me.FieldQRCode, Me.ImgQR2, "QR") End Sub وكملاحظة ، قمت بإضافة مربع النص PgCount داخل التقرير في Page_Footer ، والهدف منه كان لتجربة بأن يتم تصدير كافة الرموز Qr/Code128 عند فتح التقرير ، أو تستطيع الغاء مربع النص هذا وسيتم تصدير الصور داخل المجلد حسب الصفحة التي يتم فتحها فقط . المرفق بعد التعديل :- QR_Barcode - 3.accdb2 points
-
بالحل المقدم من الأخ @Foksh ينطبق المثل "قطعت جهيزة قول كل خطيب"2 points
-
تم التعديل و تجريب الكل . تفضل التعديل. Printable ribbon - Reports and forms-1.rar2 points
-
بعد اذن اساتذتي الاساذ / @صالح حمادي والاستاذ / @jjafferr ........ للاستاذين @jo_2010 و @AMINYOUSIF . لانه يوجد تعديلات مهمه مثلاً عند تكبير الخط ستزداد عدد الصفحات .. تم معالجتها . واشياء اخرى ....... ممكن استخدام الماكروهات حسب طلب الاستاذ @jo_2010 . أو الاكواد بدلاً منها حسب طلب الاستاذ @AMINYOUSIF . ...................... لذا وجب عليا التعدبل وارفاق المرفق بعد التعديل . ووافوني بالرد . Print ribbon-last.rar2 points
-
أعاده الله علينا وعليكم وجميع المسلمين بالخير واليمن والبركات وماحاجتك إلى تكبير الصورة الخارجية ؟؟؟ هذه هي الأبعاد التقريبية للبطاقة 8×5 سم كذلك فأن قراءة الباركود من بطاقة مطبوعة يختلف عن القراءة من الشاشة حيث أنك تقوم بتقريبها إلى جوار قارئ الباركود ولكن إذا قمنا بتكبير الصورة الخاصة بالكود ستغطي على البيانات فمثلا قمت بتعديل أبعاد الصورة الخاصة بالـ QRCode لتصبح 2×2 سم وهذه كانت النتيجة عموما بإمكانك أنت تعديل أبعاد الصورة حسب رغبتك تحياتي2 points
-
مقترح الاستاذ منتصر الانسي @منتصر الانسي ممتاز جدا و ممكن يكون فعلا بداية جيده لتطبيق هذه الاجتماعات و كذلك مقترح الاستاذ موسي @Moosak لذلك سأقوم باختيار احد الموضوعات التي سمكن لي ان اقوم بعمل مادة علمية . و لكن محتاجين ان تكون هذه المشاركات التي ستؤدي الي الاجتماعات الشهري لها طابع خاص غير المشاركات العادية لذلك أقترح على حضراتكم ان تكون مثل مشاركات التحديات - لا اعرف الكيفية و لكن البركة في حضراتكم-2 points
-
أنا أقول : 🙂 أخي محمد @mohammed farhat دامك متحمس .. خذ بزمام الأمور وتبنى أنت الفكرة .. وتوكل على الله .. 😊🖐️ ربما تكون تجاربنا السابقة لها ضروفها الخاصة .. لذلك قد أنت سفينتك وعش التجربة .. 🙂👌2 points
-
بدايةً وعليكم السلام ورحمة الله وبركاته.. وأتمنى أن لا تكون كلماتي في ردي هذا محبطة لك ولجهودك ، وأن لا تكون كالملح فوق الجرح مؤلمة .. وكما اختصر الكلام في قسمنا هذا ، مشاركة وتفاعل الكثيرين من منتسبي قسم الآكسيس . فإن قسمنا - مع احترامي للجميع - يفتقر الى روح المشاركة والمعنوية التي تجعلنا نُقدم على هذه الخطوة . فأغلب التفاعلات هنا مجرد :- يدخل البعض ليبحث عن موضوع لم يشارك به أحد ، وكأنه ماراثون "كلمة مقتبسة" . يدخل البعض أيضاً لا يكلف نفسه حتى عناء البحث باستخدام ميزة البحث في المنتدى. فتراه يرمي موضوعه دون شرح او توضيح كافي ، أو أحياناً دون مرفق . وهذا النوع لا لوم عليه من التفاعل في أي مواضيع لأنه يبحث عن معلومة . ترجمة رقم عدد الزيارات للمواضيع المطروحة ، تدل على أن الأغلبية لدينا في قسمنا ، جمهور صامت !! حاله كحال جمهور في مباراة كرة قدم دون أي تفاعل ولا حتى كمشجع ، وقد يكون أحياناً غير منتقد أيضاً 😅 . ينقصنا في قسم الآكسيس شيء واحد فقط وهو ، الترابط الاجتماعي . فأحياناً كثيرة نجد أن معظم الردود تؤخذ على محمل شخصي ، ولا تؤخذ على محمل أن اختلاف وجهات النظر لا يُفسد للودّ قضية . لذا أتمنى أن نلمس في القسم صحوة للكثيرين بتفاعلهم ومشاركاتهم بأفكارهم ، ليس فقط في الردود وكأننا آلات مبرمجة على مبدأ سين سؤال وجيم جواب . وحتى لا ينزعج أحد من ردي هذا ، فقد أكون أولكم ممن تلمسه جميع الملاحظات ، ولا أزكي نفسي عليكم بل أول المقصّرين . شكراً لمن قرأ للنهاية ، ووصل الى هذا الحد بصدر رحب ، وعلى من لا يأخذ كلامي وكأنه المقصود 💐 .2 points
-
أخي الفاضل .. عادةً تعطى النتيجة بـ للإجابة والمشاركة التي حققت طلب صاحب الموضوع ، لأسباب متنوعة . أهمها أشعار من يقرأ الموضوع بأن المشكلة قد تم حلها في الإجابة كذا . أيضاً كنوع من الدعم والشكر لصاحب الإجابة التي حققت طلبك كاملاً .. وأعلم أن اختيارك لإجابتك في هذا الموضوع هو عن دون قصد .. ولكن وجب مني التوجيه فقط لا غير ، بأن تصوب الإختيار لأستاذ عبدالله بشير عبدالله .2 points
-
لو سمحتم لي بإبداء الرأي فلنبدأ من حيث انتهي الاخرون هذا الرابط به اجنده للمواضيع المستقبلية التي سيتم مناقشتها في الاجتماعات https://accessusergroups.org/calendar/list/ فلو تم عمل استبيان و يتم تجميع المواضيع التي يمكن مناقشتها و يتم عمل ترتيب للاولوية لها ثم بتم نشر قائمة بأجندة الموضوعات كما في المجموعة الاروبية و لا يوجد ما يمنع من نأخذ منهم بعض الموضوعات كبداية استرشادية - هذا مجرد بداية اقتراح لعمل تفاعل بين الاعضاء و تبادل الخبرات و المعلومات بصورة اقوي قليلا مما هو موجود حاليا و جزاكم الله خيرا2 points
-
السلام عليكم ورحمة الله وبركاته اظافة الى حل استاذتا اأبومروان حيث يثمثل الحل بطريقتين اذا اردت معرفة عدد الندوات التي شارك بها اي مشارك واحد انقر على اي اسم مرتين تظهر رسالة بعدد المشاركات والغعاليات اما اذا اردت كل المشاركين يوجد زر يقوم بانشاء ورقتين احداها لكل المشاركين والاخرى للفعاليات توجد بعص الفعاليات بها اكثر من لجنة (تعاون) ولإعطاء كل لجنة حقها؛ ففي حال تنظيم فعالية مشتركة بين أكثر من لجنة (مثل: لجنة الكتاب والنشر - ثقافة الطفل - الشباب "تعاون"), يجب أن يتم احتساب هذه الفعالية لصالح كل لجنة من اللجان المذكورة بشكل مستقل ومستساغ، بدلاً من قراءتها كنص واحد لكما كل التقدير والاحترام مؤشر عمل اللجان.xlsb2 points
-
السلام عليكم ورحمة الله اتفضل تم عمل المطلوب علي حسب ما فهمت لعله يكون المطلوب مؤشر عمل اللجان.xlsm2 points
-
فيديو تجسيد لفكرة اللعب على الشبكة المحلية :- طبعاً الفكرة قيد التطوير لإيجاد بدائل لموضوع الربط والجداول في القاعدة الخلفية للجداول ..2 points
-
2 points
-
وعليكم السلام ورحمة الله وبركاته هذه الدالة تقوم بالمهمة ان شاء الله صعها في f3 ثم اسحب لاسفل تحياتي =IF(B3="فروج مسحب"; D3*E3*2.55; D3*E3*1.85)2 points
-
اختصارا للوقت ...... جرب المرفق التالي ..... يتم تكوين جدول بالمواد مهما كان عددها في الجدول <><><><><><><><><><><><> KAN_2.accdb2 points
-
بالنسبة للطلب الأول والذي سيبنى عليه الطلب الثاني .. جرب الفكرة المرفقة بالنقر على الزر Show/Hide &Fields 1.zip2 points
-
نعم الفاصلة العشرية موجود بالفعل في الفورم في الأعلى زر بلون أخضر مكتوب عليه 0.5 نصف درجة يضيف فقط 0.5 لأنها درجات لا يتعامل المعلمون مع غير هذا الكسر2 points
-
2 points
-
انا لم الاحظ أن هناك فرق قد يكون حجم البيانات عندك كبير مما يؤدي إلى ملاحظة هذا التأخير هناك خاصية مهمة يفضل إضافتها إلى الحقول التي يتم البحث عن بيانتها بكثرة وهي خاصية الفهرسة (في أكسس إسمها مفهرس أو Indexed) بالطريقة الموضحة بالصورة التالية الخيار المحدد هنا هو نعم مع السماح بتكرار نفس الإسم أكثر من مرة وإذا كنت متأكداً من عدم تكرار الإسم يمكن إختيار نعم بدون تكرار وهذا سيكون طبقة حماية إضافية حتى لايتم تكرار الأسماء الآن بعد أن تقوم بتعيين هذه الخاصية جرب عملية البحث هل ستكون أسرع؟ في حالتك هذه يفضل أن يكون النموذج الذي تبحث فيه إما نموذج فرعي أو نموذج مستقل عن نموذج البحث (النموذج الذي يتم إدخال نص البحث فيه) وهذا بسبب أنه يتم تنفيذ تحديث أو Requery للنموذج أثناء إدخال نص البحث ولكن لو كان البحث يتم بعد إدخال النص كاملاً فلن تكون هناك مشكلة عموما جرب تطبيق خاصية الفهرسة على المثال السابق وشوف النتيجة هل سيتحسن الأداء أم لا ومن ثم نشوف حل للطريقة الثانية التي قلت عليها (أن يكون نفس النموذج) تحياتي2 points
-
تفضل الملف بعد التعديل . كان فيه أخطاء كثيرة جدا في ارتباط الخلايا في اليوزرفورم مكتب_المحامي للتعديل2.xlsm2 points
-
تمييز الاعداد من 3 الى 10 يكون جمع مجرور بالاضافة ويخالف العدد المعدود في التذكير والتانيث خمسة ريالات الريال مذكر فتكتب خمسة كما اشار الاستاذ منتصر خمس ليرات ليرة مؤنتة تأنيث لفضي فيكتب العدد خمس الاعداد 1 و 2 يوافق العدد المعدود تذكيرا وتانيثا ويسبق المعدود العدد رجل واحد سيارة واحدة العدد 2 يعرب اعراب المثنى فيرفع بالالف وينصب ويجر بالياء العدد 11 و 12 يطابق العدد المعدود وتمييزهما مفرد منصوب العدد 11 يبنى على فتح الجزاين و12 يعرب اعراب المثنى الاعداد 13 - 19 يخالف الجزء الأول من العدد المعدود والجزء الثاني يطابقه في التذكير والتانيث والتميز مفرد منصوب والعدد مبني على فتح الجزاين حضر خمسة عشر طالبا نجحت ثلاث عشرة طالبة الفاض العقود تعرب اعراب جمع المذكر فترفع بالواو وتنصب وتجر بالياء وتمييزها مفرد منصوب ولا تتاثر بالتأنيث والتذكير قرأتُ عشرينَ كتاباً شاهدت عشرين طالبا مررت بعشرين طالبا الاعداد 100 و 1000 و الخ تمييزها مفرد مجرور بالاضافة لماذا هذه المشاركة ربما ينتفع بها احدهم املاه اخونا الشايب2 points
-
السلام عليكم الحل في Function CountByColor(rng As Range, clr As Range) As Long كما اقترح عليك استاذتا Foksh في رده هذا الملف 112.xlsm2 points
-
طيب ايش هي المشاكل ,, انت الآن طلبك كالآتي :- 1. حساب عدد الخلايا الغير فارغة لكل لون في الأعمدة . صحيح ؟؟ الآن المشاكل التي تقصدها :- 1. عند تغيير لون الخلية لا يتم تحديث القيم في أعداد الخلايا التي كتبنا فيها المعادلات ، صحيح ؟ يعني انت تريد عند التغيير للون أي خلية ، أن يتم التعديل مباشرة في أعداد الألوان في الأعمدة ؟؟؟؟؟؟؟؟؟؟؟؟؟ وهنا المشكلة أخي الكريم .. فتغيير اللون ليست حدث أو قيمة يشعر بها آكسل للأسف وبالتالي لن يتم تحديث التعداد إلا إذا !!!!!! في حدث عند التحديث للورقة ، كالتالي :- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.Calculate End Sub قمنا بإعادة حساب كل الصيغ والمعادلات في الورقة مرة أخرى ، بمجرد أن تقوم بالتحرير داخل اي خلية ، ثم الخروج . خلاف ذلك لا اعتقد ان ذلك ممكن .2 points
-
و عليكم السلام ورحمة الله وبركاته تفضل الملف حسب نسخة الأوفيس عندك لو قديم الملف الأول و لكن اذا أضفت كلمات جديدة يجب أن تضيفها في الصيغة ولو عندك . أوفيس حديث يمكن استخدام الملف الثاني فهو يتعرف على الكلمات تلقائيا الملف الثالث يعمل بالأكواد الحضور والغياب (2).xlsx الحضور والغياب حديث.xlsx الحضور والغياب أكواد.xlsm2 points