بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|

أبوسليمان
04 عضو فضي-
Posts
140 -
تاريخ الانضمام
-
تاريخ اخر زياره
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو أبوسليمان
-
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته كل عام وانتم بخير ( واعذروني على التأخير ) أستاذي الفاضل أبو هادي قمت بمراجعة عمل دالة UmDateDirff مع دالة DateDiff الأصلية بعد تحويل التقويم إلى الهجري وذلك لمقارنة حساب عدد الأشهر والأسابيع والسنوات فوجدت أن سلوك الدالة DateDiff هو احتساب الشهر أو الأسبوع أو السنة حتى لو لم يدرك منه إلا يومًا واحدًا بخلاف دالة UmDateDiff والتي تعتمد على اكتمال شهر أو أسبوع أو سنة لاحتسابه فهي تعتمد على نتائج دالة GetPeriod كما ذكرت . يمكن ملاحظة ذلك عن طريق تنفيذ الدالتين بين تاريخي : (29/12/1424) ، (2/1/1425) فتحتسب دالة DateDiff عدد السنوات (1) وعدد الأسابيع (1) لأن التاريخ الأول يوم الجمعة والثانية هو يوم الأحد وعدد ربع السنة (1) حيث التاريخ الأول في نهاية الربع الرابع من السنة ، والتاريخ الثاني في بداية الربع الأول من السنة التالية بخلاف دالة UmDateDiff والتي تحتسبها جميعًأ بالقيمة (0) أخوك المحب أبوسليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
السلام عليكم ورحمة الله وبركاته الأستاذ المبدع / أبو هادي أبدعت حقًا في الدوال . وما استطعت فحصه هي دالة UmFormat فقط ولم ألحظ عليه شيء حتى الآن في النتائج ، وهي - حسب الفحص المبدئي - متطابقة مع نتائح دالة Format . ولم يسعفني الوقت لفحص عمل بقية الدوال ولعلي أستأنف معكم بعد انقضاء هذا الشهر الفضيل إن شاء الله تعالى - أسأل الله أن يبلغنا تمامه - . وبالنسبة لتنسيق التاريخ من اليمين إلى اليسار ما دمت تميل إلى ذلك أخي أبو هادي فتوكل على الله . وبالنسبة لمربع النص الذي يقرأ التنسيق من خصائص المربع نفسه فقد أعجبت كثيرًا بهذه الطريقة وكنت منذ مدة أبحث عن كيفية الاستفادة من خيار "تنسيق" في خصائص مربع النص بالنسبة لتقويم أم القرى - وقد أفدتنا بارك الله فيك وأجزل لك المثوبة - . أعجتبني عبارتك هذه كثيرًا وسررت بها أكثر ، وهي تكافئ : تكافئها في السر الذي قصدته ، وليس المعنى طبعًا ، فمعنى البيت جميل ولطيف ، ولا أجد ما أكافئك عليها . أخي الأستاذ/ عبدالله سليمان لك الشكر الجزيل على هذا الرابط والذي يزويدنا بالماضي من تقويمنا العزيز . غير أني أميل إلى رأي الأستاذ أبو هادي فاحتياجنا لمثل هذا العمق من التقويم قد يكون شبه منعدم ، إلا إذا ظهرت حاجة قوية إلى هذه الفترة . تقبل الله الصيام والقيام وكل عام وانتم بألف صحة عافية وعساكم من عواده أخوكم ومحبكم أبو سليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
شكرًا لك أستاذ أبو هادي واعتذر عن تأخري في المتابعة فقد مررت بظروف منعتني من مراجعة الموضوع قمت بإنزال الملف الآن ولم أطلع عليه بعد وسأوافيك بالملاحظات إن وجدت ؛ في وقت لاحق إن شاء الله تعالى وتقبل خالص تحياتي أخوك أبوسليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
أخي العزيز الأستاذ أبو هادي أشكرك كل الشكر على الإطراء والاستفادة من اقتراحاتي في عمل تقويم أم القرى فهذا بالنسبة لي (شرف وفخر) وأسأل الله العلي القدير أن يقويك في إكمال تقويم أم القرى ، وأن يجعل كل ما تبذله من جهد في ميزان حسناتك ملاحظات أخرى أخي العزيز : دالة Format2 والتي ستعدل إلى UmFotmat كما ذكرت بفكرة التعديل في مشاركتك السابقة أرجو أن تتعامل مع خليط من المعلومات في الوسيطة UmDate بأن تكون رقمًا أو وقتًا "تنسيق وقت" , تاريخًا "تنسيق تاريخ" ( هجري أو ميلادي ) ، أو أن تحوي عليها جميعًا حيث الدالة تخرج من العمل بعد تمرير الوسيطة على Test لأنها ترجع قيمة "" - هذه واحدة - وثانية : لعل وسيطة تحديد نوع المخرج في دالتي Cdate2 و DateSerial2 قد تسبب بعض الإحراج في حالة تداخل عمل الدوال وعدم تحديد نوع المخرج ReturnText بالقيمة True كما في السطر التالي من دالة GetWeekNo DDiff = FirstDayOfWeek - Weekday2(DateSerial2(yy, 1, 1)) والحل " وأرجو أن أوفق في الاقتراح " أن تمرر الوسيطة UmDate إلى روتين فرعي ترجع مخرجات كل نوع في الوسيطة على حدا . يمكن تمريرها قبل تمريرها على دالة Test ؛ وفي هذا الحالة يجب تكرارها في كل دالة أو جعل تمرير الوسيطة إلى الروتين في دالة Test حتى لا يتكرر كتابة الروتين في كل دالة والأمر إليك أخي فأنت أخبر مني بأيها أصلح ولعلك تأتي باقتراح أفضل من هذا . ولعل هذا الاقتراح سوف يغنينا عن وسيطة نوع المخرج ReturnText في الدالتين المذكورتين أعلاه وذلك بتمرير ناتج الدالة على دالة فورمات للحصول على التنسيق المطلوب ولعل الأمر سكون على الصورة التالية TheDate= UmFormat(UmCDate("12/09/1425"),"yyyy/mm/dd") طبعًا هذه الصورة ستكون بعد التعديلات التي ذكرتها **** لحظة للترويح ***** سر فلا كبا بك الفرس هل تعلم سر هذه العبارة ********************** أخوك وتلميذك المحب أبوسليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
ما شاء الله عليك .. متمكن أخي الأستاذ ابو هادي حقيقة ما قمت به هو عمل جبار وما لاحظته هو استخدامك لـ ( VbFirstWeekOfYear ) وفي القائمة vbFirstJan1 وهذا قد يشكل على المستخدم كيف يكون ذلك وهو يستخدم تقوم عربي ( تقويم أم القرى ) من أجل ذلك أرجو الاطلاع على الكود التالي( UmFirstWeekOfYear ) والنظر في مدى إمكانية استخدامه بدلاً VbFirstWeekOfYear Enum UmFirstWeekOfYear UmUseSystem = 0 UmFirstMhrm = 1 UmFirstFourDays = 2 UmFirstFullWeek = 3 End Enum *** يمكن التعديل فيه كيف ما تشاء *** ( أعلم أنه أمر شكلي ولا يؤثر في النتائج ، ولكن اعتزازًا بتقويمنا الهجري) كما أرجو ملاحظة نتائج ما يلي: Format2 ("1301/01/01","c") ' وكذلك الأمر مع "yyy" ' ولا تعمل عندما يكون التاريخ 1/1/1300 Format2 (UmDate,"y") ' فإنها لا تعطي أي نتيجة بعد التعديل ' وكانت قبل التعديل لا تعمل مع أيام سنة 1300 Greg2Um(30,23,1899) um2Greg(27,8,1317) اقتراح : دالة Format الأصلية يمكنها تحويل الرقم إلى تاريخ وأظن إمكان ذلك في دالة Format2 بعد اختبار وسيطة التاريخ إن كانت من نوع Variant أو Numeric ومن ثم متابعة عمل الدالة ( وبهذا نقترب أكثر من مطابقة عمل الدالة الأصلية ) تلميذكم أبو سليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
بارك الله في جهودك -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
عفوًا أستاذي أبو هادي يتضح سلوك الدالة DateAdd2 أكثر عندما يكون الجزء العشري أكبر من خمسة أعشار ، مثل (0.6) وما بعدها فيكون الجبر . تصحيح : يكون الجبر في الوسيطة : Number لأنها من نوع Integer وليس كما ذكرت في مشاركتي السابقة بأن الجبر يحصل في ناتج العملية الحسابية . " أرجو المعذرة " ملاحظة : في مشاركتي السابقة وردت كلمة " يتستخدم " والصحيح ( يستخدم ) . كما وردت كلمة " تحددي" والصحيح ( تحديد ) . تلميذك أبو سليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
السلام عليكم ورحمة الله وبركاته أخي الأستاذ عبدالله سليمان لك كل الشكر والفضل بإذن الله في إنتاج هذه الدوال بهذه القوة دون أن ينقص ذلك من فضلك أوفضل الأستاذ أبو هادي في وضها لتقويم أم القرى فأنت صاحب السبق في الاقتراح ، والأستاذ أبو هادي في عملها باحتراف وإبداع أخي الأستاذ أبو هادي صحيح ما تقوله منطقيًا ولكنا في المجتمع العربي لم نر من يتسخدم تنسيق التاريخ كما في دالة Now2 والجميع يتستخدم التنسيق ( hh:ss:nn ) على ما أظن ( والله أعلم ) وبالنسبة لدالة Cdate و دالة DateSerial الاقتراح بإضافة مدخل لتحددي نوع المخرج فالاقتراح ممتاز ولست أنا من أوافق أو اعترض على هذا الاقتراح كما أرجو منك كرمًا مراجعة دالة DateAdd2 فهي لا تعطي نتيجة صحيحة في حال إدخال عدد عشري مثل (0.5) أو (1.5) وما إلى ذلك علمًا بأن سلوك الدالة DateAdd إهمال الجزء العشرى وما لاحظته في دالة DateAdd2 هو جبر ناتج العمليةالحسابية إلى أقرب عدد صحيح . كما لا يفوتني أن أعبر عن اعجابي الشديد بدالة Format2 والروتينات الفرعية لها فهذه الدالة مشروع بذاتها أخوكم أبوسليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
أخي الأستاذ أبو هادي أشكرك على ثقتك الغالية ... بعد تجربة سريعة للدوال وجدتها رائعة في التنظيم والترتيب والوضوح مع ملاحظات بسيطة في دالة Now2 : فتنسيق الوقت فيه عكسي كما ترى في الكود التالي Public Function Now2() Now2 = Format(Now, "ss:nn:hh ") & _ Hijri_Arabic(Greg2Um(Day(Now), Month(Now), Year(Now))) End Function ودالة Cdate2 : ترجع الرقم المقابل لتاريخ أم القرى بالميلادي في حين أن ذات الدالة والخاصة بالأستاذ عبدالله سليمان كانت ترجع تاريخ أم القرى بتسيق تاريخ عربي والله يحفظكم ويرعاكم تلميذك أبوسليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
السلام عليكم ورحمة الله وبركاته أولاً : كل عام ورمضان كريم أعان الله الجميع على اغتنام هذا الشهر الفضيل بكثرة الطاعات والعبادات ثم ما شاء الله عليك أخي أبو هادي دائمًا تتكفل بمثل هذه الاعمال الكبيرة جزاك الله ألف خير أخوكم أبو سليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
حياك ربي أخي أبو هادي فعلاً لقد لاحظت وجود الأسطر ولم ألاحظه سابقًا لخطئ مي، فقد كنت أنظر للمديول القديم لتقويم أم القرى وجزاك الله الف خير أنت عدلت الكود بإنقاص واحد وأنا عدلت الكود بإزالة علامة التساوي والنتيجة واحدة أليس كذلك أخي تلميذك أبوسليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
شكرًا لك أخي أبو هادي واعتذرني عن التأخر في المتابعة ، وذلك لانشغالي في الأيام القليلة الماضية ومن مشاركتك الأولى فإني تراجعت تمامًا عن مسألة الاختصار والدمج وأشكرك على نقاط التوجيه فيها كما أشكرك على المتابعة بمشاركتك الثانية وإرسال مرئياتك على مثالي وأقوم بالإطلاع عليه الآن **** كما أرجو منك أخي العزيز تجربة السطر التالي إذا كان التقويم المحمل حتى سنة 1450 greg2um (14,5,2029) وهو يمثل تاريخ أول يوم من سنة 1451 بمعنى 1/1/1451 أوالتالي إذا كان التقويم المحمل حتى سنة 1500 greg2um (17,11,2077) وهو يمثل تاريخ أول يوم من سنة 1501 بمعنى 1/1/1501 وملاحظة عمل الدالة في الأسطر التالية : If yy > UBound(UmAll) And _ Days <= UmAll(UBound(UmAll)).GS + UmAll(UBound(UmAll)).M2(12) Then yy = yy - 1 End If هذا إن لم تقم بتعديل دالة Greg2Um فلم أجد الأسطر المشار إليها في الملف المرسل أخوك وتلميذك أبوسليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
أخي الأستاذ أبو هادي لقد أرفقت لك الوحدة النمطية على بريدك أرجو كرمًا الاطلاع والإفادة علمًا بأن الدوال تجريبية وغير مكتملة الجديد فيه هو منح اليوم من تقويم أم القرى تسلسل هو نفس تسلسل اليوم الميلادي وهذا سيسهل عملية التحويل بين التقويمين بسهولة دمج واختصار دالة تحميل بيانات السنة أخوك أبوسليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
أخي الأستاذ أبو هادي سلام الله عليك أحببت أن أطلعك على أني قد تمكنت من جعل تسلسل لليوم في تقويم أم القرى بدءً من 1/1/1300 هـ وهو نفس تسلسل التاريخ الميلادي وهو ( -6258 ) وحتى آخر يوم من سنة 1500 هـ وتطلب الأمر التعديل في الأكواد الخاصة بك فإن أذنت لي أن أضعه هنا أو أن أرسله لك حتى تعاين التعديل وترى مدى صلاحية ذلك ومدى الاستفادة منه، فعلت أخوك أبو سليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
بارك الله فيك أخي أبو هادي -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
أخي الأستاذ/ أبو هادي سلام الله عليك ورحمته وبركاته أرسلت الملف إلى بريدك عسى أن تصل إليك. كما أشكر صراحتك أخي ، ولك الحق في الاحتفاظ بكل ما تراه من حقوقك الخاصة وفقك الله أخي لكل خير أخوك أبوسليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
شكرًا لك أخي أبو هادي البرنامج رائع ، ولدى تساؤل ؟؟ الا يمكن صنع مثله بالأكسس؟؟؟ أما نتائج التقويم حتى سنة 1500هـ قد عثرت عليه منذ قليل وأريد أن أرفقه ؟؟؟؟ ولكن أين خاصية الإرفاق وإن لم يكن هناك أي مانع فسوف أضع السنين الخمسين الباقية بعد استخلاصها من الجدول بعد إذنك أخي وذلك لأني لم أجد خاصية إرفاق الملف أخوك أبوسليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
أخي الأستاذ/ عبدالله سليمان قواك الله وعطاك ألف عافية نحن في انتظارك أخي الأستاذ/ أبو هادي أذكر أنك وضعت تقويمًا حتى سنة 1500هـ وذلك في منتديات الفريق العربي للبرمجة ، وقد تلفت روابط أمثلتها وأرى التعامل هنا بالكود يقتصر حتى سنة 1450هـ فهل هناك ما يمنع من إضافة ال (50) سنة الباقية في الكود أرجو الإفادة وجزاك الله ألف خير أخوك أبوسليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
صدقت أخي أبو هادي حقيقة لم تخطر على بالي هذه الثغرة والبحث جارٍ للوصول إلى سد هذه الثغرة ولن نحرم من حلولك في سد هذه الثغرة ومثلك لن يعجز بإذن الله أخوك أبوسليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
أخوي الأستاذ/ عبدالله سليمان والأستاذ/ أبو هادي سلام عليكم ورحمة الله وبركاته وبعد فأشكر لكم بداية تواضعكم وتقبلكم اقتراحاتي ، ومن ثم الاستفادة منها وهذه كذلك مشاركة بسيطة عبارة عن : إضافة كودات تغيير وإعادة تقويم النظام إلى دالة Date2 Public Function Date2() As String Dim da As Date GregCal da = Date Date2 = Greg2Um(Day(da), Month(da), Year(da)) Date2 = Format((Year(Date2)), "0000") & "/" & Format((Month(Date2)) _ , "00") & "/" & Format((Day(Date2)), "00") ReCurrCal End Function ======== اختصار دالة : New2 Public Function Now2() Now2 = Date2 & " " & Time End Function ==== استحداث دالة أيام الأسبوع : WeekDayName2 Public Function WeekDayName2(da As Byte, Optional fdw As Byte = 1) As String Dim da1 As Byte If da < 1 Or da > 7 Then Exit Function da1 = da ' WeekDayName2 = WeekDayName(da1, , fdw) ' طريقة أولى WeekDayName2 = Format(da1 + fdw - 1, "ddd") ' طريقة ثانية End Function ======= تنظيم واختصار دالة : Format2 Public Function Format2(expression As String, FormatOpt, Optional FirstDayOfWeek As Byte = 7) Dim da As Date Dim da2 As String Dim day_nu As Integer da2 = Test(expression) If da2 = "" Then Exit Function Select Case FormatOpt Case "yyyy": Format2 = Year2(da2) Case "dd": Format2 = Day2(da2) Case "d": Format2 = Day2(da2) Case "dddd", "ddd", "ddddd" Case "dddd", "ddd", "ddddd" day_nu = Weekday2(da2, 7) Format2 = WeekDayName2(day_nu, 7) ' باستخدام دالة أيام الأسبوع Case "mmm": Format2 = MonthName2(Month2(da2)) End Select End Function ======= أرجو أن تكون مشاركتي هذه ذات فائدة أخوك أبوسليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
أخي العزيز : عبدالله سليمان بعد النظر في دالة : DateDiff2 وجدت تكرار استدعاء دالة test كما يتضح ذلك في الكود التالي : dat1 = Test(Date1) ' الاستدعاء الأول لفحص صحة إدخال التاريخين dat2 = Test(Date2) If dat1 = "" Or dat2 = "" Then Exit Function If dat1 = dat2 Then DateDiff2 = 0 Exit Function ElseIf dat1 > dat2 Then dat1 = Test(Date1) ' الاستدعاء الثاني لفحص صحة إدخال التارخين dat2 = Test(Date2) salb = -1 End If فهل الفحص الثاني مقصود أم لا ؟ لأني أجده تكرار للفحص ليس إلا ============= وبعد النظر في الدالة : DateAdd2 وجدت أن وسيطة إضافة ربع سنة ؛ مضروبة في (4) والصحيح أن تضرب في ثلاثة ؛ لأن ربع السنة (3) أشهر وليست أربعة كما يتضح ذلك في الكود التالي: Case "q" ' add = add * 4 ' الضرف في أربعة يعني أن ربع السنة يساوي أربعة أشهر add = add * 3 ' والصحيح أن يضرب في ثلاثة لأن ربع السنة ثلاثة أشهر DateAdd2 = DateSerial2(Left(da2, 4), (CLng(Mid(da2, 6, 2))) + add, Right(da2, 2)) أخي العزيز : أرجو ملاحظة ذلك لضمان دقة عمل الدوال إن شاء الله تعالى أخوك أبوسليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
اخي الاستاذ/ أبوسليمان عبدالله سليمان السلام عليكم ورحمة الله وبركاته وبعد فهذا استدراك على ردي السابق: بالنسبة للدالة التي سميت فيها الوسائط بـ Date1 و Date2 هي دالة DateDiff2 وهنا أضع كود تغير التقويم المستخدم في النظام كما ذكرت في ردي السابق والتغيير في نظام التقويم مطلوب حتى لو أجبرنا المستخدم إلى استخدام التقويم الميلادي كتقويم افتراضي للمشروع ويتضح ذلك من دالة استخراج اسم الشهر "المختصرة" هذا هو الكود Option Compare Database Option Explicit 'CurrCal: متغير يحتفظ بتقويم النظام 'DoCurrCal: متغير يبحث هل سبق الاحتفاظ بتقويم النظام Public CurrCal As Byte, DoCurrCal As Boolean Public Sub HijriCal() ' تغيير تقويم النظام إلى الهجري SaveCurrCal Calendar = vbCalHijri End Sub Public Sub GregCal() ' تغيير تقويم النظام إلى الميلادي SaveCurrCal Calendar = vbCalGreg End Sub Public Sub ReCurrCal() ' إعادة تقويم النظام Calendar = CurrCal End Sub Public Sub SaveCurrCal() ' الاحتفاظ بتقويم النظام If (DoCurrCal) Then Exit Sub CurrCal = Calendar DoCurrCal = True End Sub ويتم مناداة الكود للتغيير الى الهجري بالامر : HijriCal وللتغيير إلى التقويم الميلادي GregCal ولاستعادة تقويم المشروع ReCurrCal أرجو أن تكون هذه الأكواد مفيدة ومختصرة للدوال أخوك أبوسليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
الأستاذ / أبوسليمان عبدالله سليمان سلام الله عليك ورحمته وبركاته وبعد أشكرك بالغ الشكر على جهودك في هذا العمل المبارك مساهمة مني في مشاركة رأي الأستاذ أبو هادي للعمل على تعديل التقويم المستخدم في مشروع العمل أثناء عمل الدوال والرجوع إلى الأصل فقد وضعت كودًا لذلك سأضع في اقرب وقت إن شاء الله تعالى (نظرًا لأن الكود في الجهاز الخاص بي في المنزل) وأنا أكتب هذا الرد من العمل) أستاذي الفاضل / لي بعض ملاحظات أرجو أن تتقبلها مني تسميتك لبعض الوسائط باسم Date2 وDate1 مع صنعك دالة بنفس الاسم Date2 فلو استبدلت الوسائط بمسميات كالأتي Date1=> FDate المقصود هنا من تاريخ Date2=> ToDate والمقصود هنا إلى تاريخ وتسميتك لوسيطة تنسيق التاريخ في الدالة Format2 بـ Format ودالة Format من الدوال العامة في النظام ومنعًا للبس لم تم تغييره إلى أي متغيير مثلاً : DateFormat أو FormatOpt هذا والله أسأل أن يوفقك لكل خير أخوك أبوسليمان -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
الأستاذ/ الفاضل عبدالله سليمان سعدت كثيرًا بهذه الدوال والتي سوف تخفف كثيرًا إضافة إلى جهد الأستاذ أبو هادي والحارث وغيرهم في وضع التقويم الهجري حسب تقويم أم القرى ملاحظة : أخي العزيز : في المرفق الثاني وضعت زر باسم (الانتقال إلى دوال أبو سليمان) حتمًا أنت لا تقصدني فليس لي أي جهد يذكر في هذه الدوال وإنما الجهد هو جهدك أخي الكريم ولعلك تكنى بأبي سليمان كذلك ورفعًا للحرج أحببت التنويه كما أرجو تعديل عبارة الزر إلى ( الانتقال إلى دوال عبدالله سليمان) وبعد إذنك وإذن الأستاذ أبو هادي قمت باختصار دالة اسم الشهر بالاستفادة من كود الأستاذ أبو هادي على النحو التالي Public Function MonthName2(da As Byte) As String Dim mo As Byte If da < 1 Or da > 12 Then Exit Function da = Int(da) Dim CurrCal As Byte CurrCal = Calendar Calendar = vbCalHijri MonthName2 = MonthName(da) Calendar = CurrCal End Function ودالة أسماء الأيام Case "dddd", "ddd", "ddddd" day_nu = Weekday2(da2, 7) format2 = Choose(day_nu, "السبت", "الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة") وتقبل فائق تحياتي أخي -
تحدي برمجي لمحبي البرمجة مع دوال تقويم أم القرى
أبوسليمان replied to عبدالله سليمان's topic in قسم الأكسيس Access
الأستاذ/ عبدالله سلميان قمت بتنزيل الملف المرفق وجزاك الله ألف خير على هذا الجهد المبارك وفقك الله وحفظك من كل سوء أخوك أبوسليمان