اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

كل الانشطه

هذه الصفحة تحدث تلقائياً

  1. Today
  2. يا عيني يا عيني ما هذا الجمال ، والإبداع أخي منتصر بارك الله فيك على هذه المشاركة الجميلة فعلاً والتي يحتاجها الكثير فعلاً .. تعقيباً على كلام أخي موسى ، والذي لا ينقص من روعة العمل شيئاً ، لاحظت ما يلي يما يتعلق بالنقطة الثانية :- استخدام تعريف المتغير Private lngStep As Single في بداية النموذج الفرعي sbfSpinButtons . حيث أن نوع البيانات Single ( وحتى Double ) يعتمد على نظام الفاصلة العائمة الثنائي . وهنا الكسور العشرية التي تبدو بسيطة مثل 0.1 أو 0.05 لا يمكن تمثيلها بشكل دقيق تماماً بالنظام الثنائي ؛ فيتم تخزينها بقيمة تقريبية تزيد قليلاً عن القيمة الأصلية . ثم يأتي شرط فحص الحد الأقصى في الدالة Up ، حيث varMaxValue = 1 ، في الجملة :- If (ctlTxtBox.Value + lngStep) <= varMaxValue Then وفرضاً ، الشرط يختبر هل 1.00000001490116 <= 1 ؟؟؟ والنتيجة قطعاً هي لا = False . بالتالي يرفض الكود الزيادة ، ويتجمد الرقم عند 90% (0.9) . ونفس الأمر يتكرر مع خطوة 5% بعد 20 نقرة حيث يتجاوز المجموع الرقم 1 بجزء متناهي الصغر ، فيتوقف عند 95% . ونفس المشكلة تحدث أيضاً عند النزول Down . عندما يصل إلى 10% ثم ينقص 0.1 ، يصبح الناتج تقريباً -0.0000000149 ( أقل من الصفر ) ، فيتوقف عند 10% ولا يصل إلى 0% . لذا ، خطر ببالي ومن باب التجربة ما يلي ، على الدالتين Up و Down ، مع تغيير نوع المتغير طبعاً ليصبح الضع كالتالي :- نوع المتغير في تعريفه من Single إلى Double . الدالتين تصبحان :- Private Sub Up() Dim curVal As Variant Dim stpVal As Variant Dim nextVal As Variant stpVal = CDec(lngStep) If Not ctlTxtBox Is Nothing Then ' الوضع الأول: مع مربع النص If IsNumeric(ctlTxtBox.Value) Then curVal = CDec(ctlTxtBox.Value) nextVal = curVal + stpVal If Not IsEmpty(varMaxValue) Then If nextVal <= CDec(varMaxValue) Then ctlTxtBox.Value = CDbl(nextVal) ElseIf curVal < CDec(varMaxValue) Then ' إذا تجاوزت الخطوة الحد الأقصى وكان الرقم أقل منه (مثل 99% مع خطوة 3%) نضبطه على 100% ctlTxtBox.Value = varMaxValue End If Else ctlTxtBox.Value = CDbl(nextVal) End If End If Else ' الوضع الثاني: مع متغير وحدث curVal = CDec(dblValue) nextVal = curVal + stpVal If Not IsEmpty(varMaxValue) Then If nextVal <= CDec(varMaxValue) Then dblValue = CDbl(nextVal) ElseIf curVal < CDec(varMaxValue) Then dblValue = CDbl(varMaxValue) Else Exit Sub End If Else dblValue = CDbl(nextVal) End If RaiseEvent ValueChanged(dblValue) End If End Sub Private Sub Down() Dim curVal As Variant Dim stpVal As Variant Dim nextVal As Variant stpVal = CDec(lngStep) If Not ctlTxtBox Is Nothing Then ' الوضع الأول: مع مربع النص If IsNumeric(ctlTxtBox.Value) Then curVal = CDec(ctlTxtBox.Value) nextVal = curVal - stpVal If Not IsEmpty(varMinValue) Then If nextVal >= CDec(varMinValue) Then ctlTxtBox.Value = CDbl(nextVal) ElseIf curVal > CDec(varMinValue) Then ' إذا نزلت الخطوة عن الحد الأدنى وكان الرقم أكبر منه نضبطه على 0% ctlTxtBox.Value = varMinValue End If Else ctlTxtBox.Value = CDbl(nextVal) End If End If Else ' الوضع الثاني: مع متغير وحدث curVal = CDec(dblValue) nextVal = curVal - stpVal If Not IsEmpty(varMinValue) Then If nextVal >= CDec(varMinValue) Then dblValue = CDbl(nextVal) ElseIf curVal > CDec(varMinValue) Then dblValue = CDbl(varMinValue) Else Exit Sub End If Else dblValue = CDbl(nextVal) End If RaiseEvent ValueChanged(dblValue) End If End Sub
  3. السلام عليكم ورحمة الله وبركاته لدي في المرفق قاعدة بيانات خاصة بمشروع مخازن ولدي طلبان خاصان بمنع التكرار وهما : الاول :احتاج في حالة وجود تكرار عند ادخال بياني كل من ( اسم الجهة والتاريخ) في نموذج امر التسليم ان يظهر تنبيه على شكل رسالة محتواها (بان هناك تكرار في هذان البيانان فهل تريد الاستمرار في الادخال ام الالغاء ( والهدف هنا هو منع تكرار امر التسليم لنفس الجهة في نفس التاريخ الا في حالة ان يكون هناك فعلا امران للتسليم لنفس الجهة في نفس التاريخ وهذا احتمال وارد الثاني : في خانة اسم السلعة ان يتم منع تكرار ادخال اسم السلعة مدخلة مسبقا في نفس امر التسليم ارجو ان اكون وفقت في الشرح وبارك الله فيكم مشروع مخازن 2026.accdb
  4. ماشاء الله عليك أخي منتصر .. شعلة من النشاط وضحت كل شي بالتفصيل الممل 👌 حتى الأمثلة التي أوردتها راااائعة ومن الواقع العملي ..👍 عمل رائع وجهد مشكور .. في ميزان حسناتك يارب ..🤲 فقط مما لاحظت على السريع (مع علمي بأن الأداة قابلة للتخصيص والتعديل بكل سهولة 🖐️) : * في المثال 1 والمثال 2 : لو كتبت القيمة بيدي ثم ضغطت على أزرار الكيبورد لا يتعرف على القيمة الجديدة بل على آخر قيمة كانت محفوظة .. إلا إذا فقد مربع النص التركيز ثم عاد إليه .. * في المثال 3 : عند استخدام مفاتيح الكيبورد أو الأزرار بالنسبة للمثال الثاني (الذي يقفز 10% مع كل ضغطة ) القيمة تقف عند 90% وتقف ولا تصل إلى 100% .. ولك مني كل التحيات الطيبات المباركات ..🌹
  5. Yesterday
  6. اعرض الملف أداة إنشاء زري التدوير SpinButtons المخصصة {سلسلة الأدوات المساعدة المخصصة} أقدم لكم اليوم أداة جميلة وهي أداة تقوم بنفس الوظيفة التي يقوم بها أحد عناصر تحكم ActiveX وهو عنصر التحكم SpinButton ولكنها تتميز عنه في أنها تضيف إمكانية القيام بنفس العمل ولكن عن طريق لوحة المفاتيح وأيضا التحقق من صحة البيانات بالتالي فإذا كان عنصر تحكم SpinButton يخدم المستخدم الذي يفضل العمل بإستخدام الماوس فإن الأداة ستخدم جميع أنواع المستخدمين + المطورين إستخدام الأداة سهل وتم توضيح كل شيئ في الملف المرفق بإسم النسخة التوضيحية (أرجو قراءة كل التعليمات والملاحظات والتعليقات المرفقة بالكود لإنها توضح كل ما تريدون معرفته) أرجو أن تنال الأداة إعجابكم وفي إنتظار أي أسئلة أو ملاحظات تحياتي صاحب الملف منتصر الانسي تمت الاضافه 10/24/26 الاقسام قسم الأكسيس  
  7. Version 1.0.0

    8 تنزيل

    أقدم لكم اليوم أداة جميلة وهي أداة تقوم بنفس الوظيفة التي يقوم بها أحد عناصر تحكم ActiveX وهو عنصر التحكم SpinButton ولكنها تتميز عنه في أنها تضيف إمكانية القيام بنفس العمل ولكن عن طريق لوحة المفاتيح وأيضا التحقق من صحة البيانات بالتالي فإذا كان عنصر تحكم SpinButton يخدم المستخدم الذي يفضل العمل بإستخدام الماوس فإن الأداة ستخدم جميع أنواع المستخدمين + المطورين إستخدام الأداة سهل وتم توضيح كل شيئ في الملف المرفق بإسم النسخة التوضيحية (أرجو قراءة كل التعليمات والملاحظات والتعليقات المرفقة بالكود لإنها توضح كل ما تريدون معرفته) أرجو أن تنال الأداة إعجابكم وفي إنتظار أي أسئلة أو ملاحظات تحياتي
  8. جزاك الله خيراً اخي @AMINYOUSIF .. هدية مقبولة منك
  9. بسم الله الرحمن الرحيم إلى السادة المستخدمين الكرام، يسرنا إعلامكم أنه تم الانتهاء من تحديث وتطوير "نظام إدارة الأسطول والمركبات" وإعادته للخدمة بحلتها الجديدة والأكثر استقراراً واحترافية، لضمان سهولة الإدخال، دقة البيانات، وفعالية التنبيهات التلقائية. هذا العمل مُهدى كـ "صدقة جارية"، ونשمح بمشاركتنا مقترحاتكم وملاحظاتكم بعد التجربة. نرجو تفضلكم بإبداء الرأي وتقييم الأداء، لنستمر في التطوير والتحسين المستمر. نسأل الله أن ينفع به، وأن يكتب الأجر والثواب للجميع. نظام إدارة السيارات والأسطول.xlsm
  10. الاخ الكريم /ابو ياسين استأذن الاساتذة و اصحاب العلم و الفضل و اقدم ملف صغير قاعدة بيانات صغيرة و ملف ايقونات يختار او يضيف او يحذف ما يشاء قاعدة البيانات : نموذج و زر على النموذج للتبسيط و موديول صغير ERROR.rar
  11. الاسبوع الماضي
  12. الى مستخدمى اكسيس باللغة العربية مرفق ملف كامل شامل برسائل الخطأ لقواعد بيانات اكسيس مترجم بواسطة AI Access error messages.rar
  13. السلام عليكم ورحمه الله وبركاته - أريد زر طباعه لفصول متفرقه يتم إختيارها - دفعه واحده ‏‏الدرجات 2027.xlsb
  14. ماشاء الله , اللهم بارك , عمل متعوب عليه ولكنه لا زال تحت التطوير اسأل الله أن يزيدك من علمه وفضله هناك انتقادات ولكن لا أريدها أن تقلل من همتك أو عزيمتك الغرض منها التنبيه إلى الأفضل فقط مثال : أولا : البرنامج يحوي 11 موديول , الموديول رقم 11 و 9 فارغين تماما من البيانات ثانيا : يمكن تقليل عدد الموديولات وضم أكوادها إلى الأخرى
  15. السلام عليكم ورحمة الله وبركاته، إخوتي وأحبتي أعضاء منتدانا الكرام، بقلوب ملؤها الشكر والامتنان لله عز وجل، نعلن عن اكتمال تطوير برنامج "(نظام إدارة السيارات والأسطول)"، والذي نسأل الله أن يجعله عملاً مباركاً وصدقة جارية لنا جميعاً، ولكل من ساهم فيه بعلمه أو جهده أو وقته. 🔍 مرحلة المعاينة التجريبية (إتماماً للصدقة الجارية): قبل الإطلاق الرسمي للنسخة النهائية ليستفيد منها الجميع، نأمل منكم — أيها الخبراء والمستخدمون الأفاضل — معاينة البرنامج واختباره بعناية، وإفادتنا بملاحظاتكم ومقترحاتكم القيمة. أهداف هذه المرحلة: التأكد من جودة النظام وتغطيته لكافة الاحتياجات العملية. رصد أي ملاحظات أو تحسينات برمجية أو شكلية. ضمان خروج أداة مرنة وسهلة الاستخدام للجميع. سنقوم بمشيئة الله بتعديل كافة الملاحظات المناسبة، ثم إعادة طرح النسخة النهائية والمطورة ليتحقق الغاية المرجوة من هذا العمل الخيري. جزاكم الله خيراً، ونسأل الله أن يتقبل هذا الجهد ويجعله في ميزان حسنات الجميع. نظام إدارة السيارات والأسطول.xlsm
  16. جزاكم الله كل خير بشمهندس منتصر على هذه المشاركة الاكثر من رائعة @منتصر الانسي
  17. وعليكم السلام ورحمة الله وبركاته .. رغم أن طبيعة الطلب غير مفهومة أخي الكريم !!! ولكن !! على العموم ، ومشاركة مع أخي الأستاذ @بن علية حاجي ، جرب هذه المعادلة في الورقة Sheet1 في الخلية I2 ، واسحب للنهاية حسب حاجتك للتطبيق على الكل :- =IFERROR(VLOOKUP(A2&"", source!$A:$D, 4, 0), VLOOKUP(A2*1, source!$A:$D, 4, 0)) السبب على الأغلب يكمن في قاعدة أساسية في إكسل تسمى اختلاف نوع البيانات - Data Type Mismatch أما اذا كان سؤالك ، كيف تعمل الدالة السابقة ؟ فهي تقوم بما يلي :- تبحث أولاً مع تحويل القيمة إلى نص في (A2&"") إذا لم تجدها ، تقوم تلقائياً بالبحث بعد تحويل القيمة إلى رقم (A2*1) تضمن لك الحصول على النتيجة الصحيحة في كلتا الحالتين على أي جهاز كمبيوتر أو إصدار إكسل جرب وأخبرنا بالنتيجة
  18. وعليكم السلام نعم تم استبدال استبدال العبارة source!D:D في معادلتك بالرقم 4 ولكن لتزل المشكلة موجودة
  19. بارك الله فيكم وجعلها في ميزان حسناتكم
  20. السلام عليكم ورحمة الله يمكن ببساطة أن تغير معادلاتك من الشكل: مثلا B5&C5&D5= إلى الشكل B5&C5&1*D5= لجعل التاريخ قيمة عددية وليس نصا.
  21. السلام عليكم ورحمة الله حسب ما فهمت أنك تريد من المعادلة أن تستخرج اسم البند الموجود في العمود D في الورقة source حسب رقم البند من العمود A، يجب استبدال العبارة source!D:D في معادلتك بالرقم 4، غير أن المعادلة تبعك لا تعطي نتائج دقيقة باعتبار أن رقم البند يمكن أن يتكرر لأسماء بنود مختلفة (المعادلة تعطي نتيجة أول صف في النطاق تعثر فيه على رقم البند المطلوب)... والله أعلى وأعلم.
  22. السلام عليكم ارعب ان يتم البحث عن اسم البند في الورة source و وضع في ورقة sheet1 في الصف الرقم البند نفس تم عمل الدالة ولا كن توجد مشكلة #NA تظهر عندي هل يمكن حل الاشكالية واشرح طريقة الحل ولكم كل الشكر والتقدير استلامات منذ شهر 6.xlsx
  23. أداة خارقة ونتائجها مدهشة وبصراحة لا أعرف هل أفرح بها أم أخاف منها في إنتظار نجاح تجربة الأخ @محب العقيدة وعند الإنتهاء منها ياريت يوضح لنا نسبة النجاح النهائية والمتطلبات والبرامج التي يجب توافرها في الجهاز تحياتي
  24. وعليكم السلام ورحمه الله وبركاته ممكن تستخدم داله text وتعمل تنسيق التاريخ زاي ما تحب =B5&C5&TEXT(D5,"dd/mm/yyyy") لعله يكون المطلوب المصنف1.xlsx
  25. السلام عليكم ورحمة الله وبركاته عندي قائمتين في ملفي اكسال مختلفين القائمتين لنفس تلاميذ المؤسسة القائمة الاولى بها الاسم واللقب وتاريخ الميلاد وعنوان الاولياء لكل التلاميذ القائمة الثانية بها الاسم واللقب وتاريخ الميلاد فقط لمجموعة تلاميذ تقريبا النصف غير مرتبين اريد ادراج عنوان الاولياء في القائمة الثانية استعملت دمج الخلاياء الاسم&اللقب&تاريخ الميلاد لكي اعمل دالة vlookup لكني وجدت مشكل انو تاريخ الميلاد ليس متطابق في التنسيق لا ادري لماذا الملف المرفق يوضح ذلك بارك الله فيكم المصنف1.xlsx
  26. وحتى لا اخفي غليكم اخذت الكود لمصدي ل PDFCRAFT واقوم بالتعديل عليه لدعم اللغة العربية بالكامل في التعديل على الملفات وتقريبا انجزت 85%
  27. منذ اسبوعين وان اتابع هذا المستودع الذي وصل عدد نجومه340الف نجمه https://github.com/morluto/rea طبعا المشاريع التي بنيت عليه لا تتخيل من منتجات ادوبي بالكامل رابطhttps://github.com/storytold/artcraft/releases/tag/artcraft-v0.41.0 ربما نحاول بعض الشيء على اكسيس لكن القصة معقدة كثيرا عليه لااسباب كثيرة لكن ساحاول واخبركم بالتنيجة اذا نجحت طبعا رابط مفيد لفهم المشروع وتطبيقا لم تكن الا على الماك
  1. أظهر المزيد
×
×
  • اضف...

Important Information