اذهب الي المحتوي
أوفيسنا

منتصر الانسي

المشرفين السابقين
  • Posts

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

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

  • Days Won

    23

كل منشورات العضو منتصر الانسي

  1. Version 1.0.0

    46 تنزيل

    الحقيقة أن هذا الموضوع ماهو إلا تحديث للموضوع الذي كنت قد رفعته للمنتدى منذ زمن طويل ولكني حبذت أن أفتح له موضوع جديد هنا في المكتبة لسببين الأول إثراءاً لمكتبة الموقع وتسهيل الوصول إليه لكل من يبحث عن موضوع التقارير والثاني لأني قمت بإجراء بعض التحسينات في الملف من حيث تبسيط الإجراءات وإرفاق شروحات وتعليمات توضيحية لطريقة العمل بهذه الأداة وخلافاً لما جرت عليه العادة فهذه الأداة لاتحتاج إلا إستيراد وحدة نمطية واجدة لذلك لم أرفق ملف بإسم القالب فكل ما ستحتاج إليه سيكون موجود في الملف المرفق تحياتي
  2. اعرض الملف تحديث لموضوع الحل الشافي لتقارير اكسس {سلسلة الأدوات المساعدة المخصصة} الحقيقة أن هذا الموضوع ماهو إلا تحديث للموضوع الذي كنت قد رفعته للمنتدى منذ زمن طويل ولكني حبذت أن أفتح له موضوع جديد هنا في المكتبة لسببين الأول إثراءاً لمكتبة الموقع وتسهيل الوصول إليه لكل من يبحث عن موضوع التقارير والثاني لأني قمت بإجراء بعض التحسينات في الملف من حيث تبسيط الإجراءات وإرفاق شروحات وتعليمات توضيحية لطريقة العمل بهذه الأداة وخلافاً لما جرت عليه العادة فهذه الأداة لاتحتاج إلا إستيراد وحدة نمطية واجدة لذلك لم أرفق ملف بإسم القالب فكل ما ستحتاج إليه سيكون موجود في الملف المرفق تحياتي صاحب الملف منتصر الانسي تمت الاضافه 01/14/26 الاقسام قسم الأكسيس  
  3. هذا لأن الكود يتعامل مع الوورد إصدار 2003 لذا قم بإضافة حرف x لإمتداد ملف الوورد بمعنى بدل هذا السطر OpenClsword (CurrentProject.Path & "\123.doc") إلى هذا السطر OpenClsword (CurrentProject.Path & "\123.docx")
  4. Version 1.0.0

    38 تنزيل

    كما يعلم الجميع فإن عنصر التحكم (مربع القائمة) القياسي من عناصر التحكم التي لاتمنحنا خيارات أوسع في التنسيق كمحاذاة النص أو تغيير لون الخط أو لون التحديد وغيرها من التنسيقات التي تجعله يتماشى مع بقية عناصر التحكم بإستخدام هذه الأداة سنحصل على مربع قائمة مخصص يقوم بمنحنا خيارات تنسيق واسعة مرفق لكم مجلد يحتوي على - نسخة توضيحية لوظائف الأداة (أرجو أن يتم فتح هذا الملف في البداية) - مستند وورد يحتوي على تعليمات (يرجى قرائتها بتركيز وتطبيق الخطوات كما وردت) يحتوي هذا المستند في نهايته على تلميحات مهمة ستساعدكم في حال ظهور بعض الأخطاء أثناء العمل - نسخة بإسم القالب والتي وكما تعودنا بأنها ستحتوي على الكائنات الضرورية لعمل الأداة - ملف مضغوط يحتوي على نسخة تدريبية ليتم تطبيق الخطوات الواردة في التعليمات عليها الملاحظة التي أود تقديمها هنا أنه في البداية قد يواجه البعض صعوبة في العمل مع الإداة والذي يمكن تجاوزها بقراءة وتنفيذ التعليمات أكثر من مرة لذلك تم وضع النسخة التدريبية في ملف مضغوط حتى يمكنكم الحصول على نسخة فارغة جديدة في حال أردتم إعادة تطبيق التعليمات للتدرب تحياتي
  5. اعرض الملف إجعل مربع القائمة يتناسق مع بقية تنسيقات النموذج بإستخدام أداة مربع القائمة المخصص {سلسلة الأدوات المساعدة المخصصة} كما يعلم الجميع فإن عنصر التحكم (مربع القائمة) القياسي من عناصر التحكم التي لاتمنحنا خيارات أوسع في التنسيق كمحاذاة النص أو تغيير لون الخط أو لون التحديد وغيرها من التنسيقات التي تجعله يتماشى مع بقية عناصر التحكم بإستخدام هذه الأداة سنحصل على مربع قائمة مخصص يقوم بمنحنا خيارات تنسيق واسعة مرفق لكم مجلد يحتوي على - نسخة توضيحية لوظائف الأداة (أرجو أن يتم فتح هذا الملف في البداية) - مستند وورد يحتوي على تعليمات (يرجى قرائتها بتركيز وتطبيق الخطوات كما وردت) يحتوي هذا المستند في نهايته على تلميحات مهمة ستساعدكم في حال ظهور بعض الأخطاء أثناء العمل - نسخة بإسم القالب والتي وكما تعودنا بأنها ستحتوي على الكائنات الضرورية لعمل الأداة - ملف مضغوط يحتوي على نسخة تدريبية ليتم تطبيق الخطوات الواردة في التعليمات عليها الملاحظة التي أود تقديمها هنا أنه في البداية قد يواجه البعض صعوبة في العمل مع الإداة والذي يمكن تجاوزها بقراءة وتنفيذ التعليمات أكثر من مرة لذلك تم وضع النسخة التدريبية في ملف مضغوط حتى يمكنكم الحصول على نسخة فارغة جديدة في حال أردتم إعادة تطبيق التعليمات للتدرب تحياتي صاحب الملف منتصر الانسي تمت الاضافه 01/09/26 الاقسام قسم الأكسيس  
  6. هذا بسبب أن مصدر بيانات مربع النص هو حقل Nr الموجود في الجدول TblDetaché حمل المرفق الان بعد تعديل مصدر الحقل من الجدول tbl_Loans وشاهد النتيجة Taher_22122025.rar
  7. ولكن هذا هو مايتم بالفعل شاهد الصورة بمجرد أن أغير الوظيفة إلى 15
  8. السؤال هنا هل سيتم انشاء جدول بنفس الاسم كل مرة ام سيتم انشاء الجدول باسم جديد؟ لانه الحل سيختلف بناء على اجابة السؤال
  9. انا لم أقم بتعديل أي شيئ كل ما قمت به هو تصحيح الكود الخاص بك كالتالي السطر الأول كان هكذا Set rstE = db.OpenRecordset("SELECT * FROM Employee WHERE Nr <= 5", dbOpenDynaset) وكان يحتوي الأخطاء التالية - كنت تتعامل مع الحقل Nr في الجدول Employee على أنه حقل رقمي ولكنه حقل نصي - أعتقد أنك تظن أن هذا الحقل يحتفظ برقم الوظيفة إلا أنك مخطئ فهو يحتفظ بإسم الوظيفة والصورة التالية ستوضح لك ما أقصده مما سبق يتضح لنا أنه لن يتم تحقيق معيار التصفية Nr <= 5 لذلك قمت بتعديله إلى السطر التالي Set rstE = db.OpenRecordset("SELECT *,TblDetaché.Nr as NrE FROM Employee INNER JOIN TblDetaché ON Employee.detach = TblDetaché.detach WHERE (((TblDetaché.Nr) <= 5));", dbOpenDynaset) حيث سيتم ربط الجدول Employee مع الجدول TblDetaché وسنأخذ قيمة Nr من الجدول TblDetaché لأنه رقمي وقمنا بتسمية الحقل هذا بإسم NrE أما التعديلات التالية كلها تخص الحقل EmpID فأنت تتعامل معه كحقل نصي وهو حقل رقمي لذلك قمت بإزالة علامة الإقتباس المفردة التي قيل وبعد EmpID فمثلا 'تم تعديل هذه العبارة EmployeeID='" & EmpID & "' 'بهذه العبارة EmployeeID = " & EmpID & " اخر تعديل ونظرا لأنه وكما سبق توضيحه بخصوص الحقل Nr تم تعديل السطر التالي 'إستبدلنا هذا السطر rst!Nr = rstE!Nr 'بهذا السطر rst!Nr = rstE!NrE حتى يتم أخذ قيمة Nr من الحقل الذي قمنا بتسميته بالإسم NrE في جملة Sql أعلاه هذه هي كل التعديلات التي قمت بها فهل هذا سيؤثر على طريقة احتساب القروض؟
  10. جرب التعديل المرفق اقتطاع مرة واحدة فقط 2025-1.rar
  11. هل قمت بالتأكد من إعدادات اللغة في الويندوز ؟ للتأكد في مربع البحث في شريط المهام اكتب Region ثم اضغط زر Enter ليفتح لك النافذة التالية تأكد من انه تم تحديد اللغة العربية
  12. Version 1.0.0

    34 تنزيل

    نواصل سلسلة الأدوات المخصصة بأداة بسيطة وسهلة الإستخدام ولكن نتيجتها رائعة فكما نعلم فإن صندوق الرسائل MsgBox القياسي يأتي بإمكانيات محدودة كعدم إمكانية تنسيق الخطوط وتغيير مسميات الأزرار وغيرها من الأمكانيات وهنا تأتي هذه الأداة لتقوم بكل مايعجز مربع الرسائل القياسي عن القيام به حيث يمكنها - إنشاء الرسائل بنص غني RichText وهذا يعني أمكانية التحكم في تنسيق النص من حيث نوع الخط ولونه وحجمه وتسطيره ... الخ - تعيين تسميات الأزرار مع إمكانية تغيير لونها - الإغلاق التلقائي وغيرها من المميزات التي ستتعرف عليها في الملف المرفق طريقة إستخدام الأداة بسيط للغاية فمن خلال نموذج (المعالج) نقوم بكتابة وتنسيق نص الرسالة وتعيين خيارات مربع الحوار ثم إستعراض شكل مربع الرسالة الناتج عن هذه التحديدات حتى يتم الوصول للنتيجة المطلوبة ليقوم النموذج بإنشاء صيغة الكود الذي يقوم بتنفيذ الأمر لنسخه ولصقه في المكان المطلوب ملاحظة هامة : ارجو التركيز على الملاحظات المكتوبة باللون الأحمر في النموذج لأنها ملاحظات هامة يجب إستيعابها تحياتي
  13. اعرض الملف إداة تخصيص مربع الرسائل MsgBox {سلسلة الأدوات المساعدة المخصصة} نواصل سلسلة الأدوات المخصصة بأداة بسيطة وسهلة الإستخدام ولكن نتيجتها رائعة فكما نعلم فإن صندوق الرسائل MsgBox القياسي يأتي بإمكانيات محدودة كعدم إمكانية تنسيق الخطوط وتغيير مسميات الأزرار وغيرها من الأمكانيات وهنا تأتي هذه الأداة لتقوم بكل مايعجز مربع الرسائل القياسي عن القيام به حيث يمكنها - إنشاء الرسائل بنص غني RichText وهذا يعني أمكانية التحكم في تنسيق النص من حيث نوع الخط ولونه وحجمه وتسطيره ... الخ - تعيين تسميات الأزرار مع إمكانية تغيير لونها - الإغلاق التلقائي وغيرها من المميزات التي ستتعرف عليها في الملف المرفق طريقة إستخدام الأداة بسيط للغاية فمن خلال نموذج (المعالج) نقوم بكتابة وتنسيق نص الرسالة وتعيين خيارات مربع الحوار ثم إستعراض شكل مربع الرسالة الناتج عن هذه التحديدات حتى يتم الوصول للنتيجة المطلوبة ليقوم النموذج بإنشاء صيغة الكود الذي يقوم بتنفيذ الأمر لنسخه ولصقه في المكان المطلوب ملاحظة هامة : ارجو التركيز على الملاحظات المكتوبة باللون الأحمر في النموذج لأنها ملاحظات هامة يجب إستيعابها تحياتي صاحب الملف منتصر الانسي تمت الاضافه 12/18/25 الاقسام قسم الأكسيس  
  14. من كلامك هذا اعتقد أنك قمت بتغيير الجهاز ويمكن أن تكون المشكلة مرتبطة بلغة النظام لأن المشكلة لم تظهر عندي انا ايضاً
  15. قم بنسخ الكود التالي ولصقه في أي وحدة نمطية Public Function ReportExists(rptName As String) As Boolean Dim obj As AccessObject For Each obj In CurrentProject.AllReports If obj.Name = rptName Then ReportExists = True Exit Function End If Next obj ReportExists = False End Function بهذا سيتم حل المشكلة التي تسبب الخطأ الظاهر في الصورة الثانية لا أدري إذا ما سيتم حل المشكلة الظاهرة بالصورة الأولى أم لا ولكن جرب ورد علينا بالنتيجة تحياتي
  16. Version 1.0.0

    73 تنزيل

    اليوم أقدم لكم أداة أعتقد أن الجميع يحتاجها والحقيقة أن هذه الأداة هي في الأصل عبارة عن أداتين كلا منها يؤدي وظيفة مستقلة لكنهما يتكاملان مع بعضهما لتقومان بجميع الوظائف المرتبطة بتخصيص طرق عرض وطباعة التقارير من حيث تخصيص حجم الورق وإتجاه الورقة ونوع الطابعة ومربع حوار الطباعة .... إلخ وظيفة الأداة الأولى - إنشاء قائمة مختصرة لطباعة التقارير - إظهار مربع حوار مخصص للطباعة وظيفة الأداة الثانية - إنشاء مايشبه القوالب الخاصة بمعاينة وطباعة التقارير بحيث يتم ربط كل تقرير بحجم الورق والطابعة وطريقة العرض الخاصة به - سيتم الإستغناء عن أمر معاينة وطباعة التقارير فبدلاً عن هذه الصيغة DoCmd.OpenReport "ReportName", ViewMode, , strCriteria, OpenArgs سيتم إستخدام هذا الصيغة MyOpenReport "ReportName", ViewMode, ReportTypeID, strCriteria, OpenArgs, NoMargins حيث نلاحظ أن الصيغتين لها نفس المعلمات مع إضافة معلنتين إضافينين هما - ReportTypeID وتمثل رقم السجل الخاص بالقالب في جدول القوالب - NoMargins معلمة خاصة بتجاهل الهوامش (سيتم توضيح عملها ضمن المثال التوضيحي) أخيراً مرفق لكم مجلد يحتوي على مايلي 1- مثال عملي شامل يوضح عمل الأداتين معاً 2- مجلد فرعي خاص بكل أداة يشمل مثال توضيحي لطريقة الإستفادة من الأداة وقالب يحتوي على الكائنات الأساسية لكل أداة في الأخير أتمنى من الجميع تجربة الأداة وإبداء إي ملاحظات تحياتي
  17. اعرض الملف بهذه الأداة سيتم تخصيص طريقة عرض وطباعة التقارير {سلسلة الأدوات المساعدة المخصصة} اليوم أقدم لكم أداة أعتقد أن الجميع يحتاجها والحقيقة أن هذه الأداة هي في الأصل عبارة عن أداتين كلا منها يؤدي وظيفة مستقلة لكنهما يتكاملان مع بعضهما لتقومان بجميع الوظائف المرتبطة بتخصيص طرق عرض وطباعة التقارير من حيث تخصيص حجم الورق وإتجاه الورقة ونوع الطابعة ومربع حوار الطباعة .... إلخ وظيفة الأداة الأولى - إنشاء قائمة مختصرة لطباعة التقارير - إظهار مربع حوار مخصص للطباعة وظيفة الأداة الثانية - إنشاء مايشبه القوالب الخاصة بمعاينة وطباعة التقارير بحيث يتم ربط كل تقرير بحجم الورق والطابعة وطريقة العرض الخاصة به - سيتم الإستغناء عن أمر معاينة وطباعة التقارير فبدلاً عن هذه الصيغة DoCmd.OpenReport "ReportName", ViewMode, , strCriteria, OpenArgs سيتم إستخدام هذا الصيغة MyOpenReport "ReportName", ViewMode, ReportTypeID, strCriteria, OpenArgs, NoMargins حيث نلاحظ أن الصيغتين لها نفس المعلمات مع إضافة معلنتين إضافينين هما - ReportTypeID وتمثل رقم السجل الخاص بالقالب في جدول القوالب - NoMargins معلمة خاصة بتجاهل الهوامش (سيتم توضيح عملها ضمن المثال التوضيحي) أخيراً مرفق لكم مجلد يحتوي على مايلي 1- مثال عملي شامل يوضح عمل الأداتين معاً 2- مجلد فرعي خاص بكل أداة يشمل مثال توضيحي لطريقة الإستفادة من الأداة وقالب يحتوي على الكائنات الأساسية لكل أداة في الأخير أتمنى من الجميع تجربة الأداة وإبداء إي ملاحظات تحياتي صاحب الملف منتصر الانسي تمت الاضافه 12/06/25 الاقسام قسم الأكسيس  
  18. وكمعلومة إضافية في مثال الاخ @محمد التميمي يمكنك الحصول على رقم أي قرص غير الـ C بإستبدال الحرف C بالحرف المطلوب SerialNumber = CreateObject("Scripting.FileSystemObject").GetDrive("C:\").SerialNumber تحياتي
  19. اخي العزيز @محب العقيدة من خلال إطلاعي على ماجاء في المحادثة فإن الطريقة التي يعتمدها هي وهذا معناه شيئين اولاً الإعتماد على حقول نوع OLE أو Attachment لحفظ البيانات وهذا سيؤدي إلى تضخم حجم قاعدة البيانات بصورة كبيرة حتى ولو لم تحتوي إلا على بيانات قليلة ثانيا بهذه الطريقة سنفرغ قاعدة البيانات من مفهومها الرئيسي وهو الترميز والعلاقات لضمان تنظيم البيانات عدم تكرار البيانات الغير ضرورية فالذي يتم هنا هو أنه يتم أخذ بيانات السجل وتقسيمها إلى أجزاء وحفظها كـ xml دون مراعاة لقواعد التحقق من صحة البيانات وتكرارها بالإضافة إلى كل ماسبق فإن آلية العمل مشكوك فيها فإذا كنت قد شغلت الإجراء Test مرة وأفادني بالفعل أنه تم حفظ الكميات 8. المخزون الحالي: - أرز: 80 كيس - سكر: 50 كيس فيفترض أنه اصبح لدي بالفعل صنف بإسم أرز وصنف بإسم سكر الآن لو قمت بحذف أو تعليق الاسطر الخاصة بإنشاء الأصناف وهي ' 2. إضافة مواد Debug.Print "2. إضافة مواد جديدة..." itemID1 = itemsMgr.AddItem("أرز", "RICE001", "كيس", 10, 50, "أرز هندي") If itemID1 > 0 Then Debug.Print " ? تمت إضافة: أرز - ID: " & itemID1 End If itemID2 = itemsMgr.AddItem("سكر", "SUGAR001", "كيس", 5, 45, "سكر أبيض") If itemID2 > 0 Then Debug.Print " ? تمت إضافة: سكر - ID: " & itemID2 End If Debug.Print "" ' 3. حفظ المواد Debug.Print "3. حفظ المواد..." If itemsMgr.Save Then Debug.Print " ? تم حفظ المواد بنجاح" End If Debug.Print "" وقمت بتعديل الكميات في إجراءات الاضافة والتنزيل (او حتى بدون تعديلات) ستظهر لي الرسالة التالية وهذا معناه أنه قد نسي أنه تم حفظ الصنفين هذه هي ملاحظاتي السريعة على ماجاء في مشاركتك ان شاء الله تكون ملاحظات مفيدة تحياتي
  20. بسيطة إستخدم هذا الإستعلام من أي قاعدة بيانات أخرى SELECT MSysObjects.Flags, MSysObjects.Name, MSysObjects.Type FROM MSysObjects IN 'D:\HideTBL V1-64.accde' WHERE ( ((MSysObjects.Name) NOT LIKE "MSys*") AND ((MSysObjects.Type) = 1) ); وذلك على إفتراض أن الملف موجود تحت القرص D مباشرة وإلا قم بتعديل المسار تحياتي
  21. ماذا تقصد بغير متاحة ؟ - إن كنت تقصد بإنها مؤمنة بكلمة سر فأنت تعلم بأنه يمكن كسر هذا التأمين بسهولة - وإن كنت تقصد تأمين قاعدة البيانات عن طريق الكود بحيث أننا لن نستطيع فتحها عن طريق مفتاح Shift فيمكننا تنفيذ الاستعلام من أي قاعدة بيانات أخرى - وإذا تقصد أنك ستقوم بإخفاء قاعدة البيانات هذه للدرجة التي لايمكن أن يصل إليها أحد فأعتقد أن هذا هو أقوى تأمين ولن نحتاج للقلق من الوصول إلى البيانات داخلها فهل فكرتك هي ضمن هذه الحالات أم أن لديك فكرة أخرى؟
  22. كلامك صحيح ولكن يفترض بالمطور تعديل الرقم بحسب عدد السجلات التي يفترض اضافتها فإذا كان يعتقد أنه بالامكان أن تزيد عن 1000 سجل في السنة فيمكن أن يجعل الرقم 10000
×
×
  • اضف...

Important Information