أبو هادي قام بنشر أكتوبر 21, 2004 قام بنشر أكتوبر 21, 2004 السلام عليكم شكرا للأخوين أبوسليمان وعبدالله سليمان لدعمهما ومساندتهما وتشجيعهما الكريم . لقد تم تصحيح أكثر الأخطاء وسوف أقوم غدا ليلا إن شاء الله تعالى برفعها لكم . تحياتي .
أبو هادي قام بنشر أكتوبر 22, 2004 قام بنشر أكتوبر 22, 2004 (معدل) السلام عليكم المثال مرفق مرة أخرى بعد تعديلات كثيرة ( قياسية / نموذجية ) . سأؤجل أجوبتي على تعليقاتكم إلى يوم آخر إن شاء الله تعالى حيث أني مرهق جدا . تحياتي . الملفات المرفقة UmAlQura_20041023.rar ( 91.48ك ) عدد مرات التنزيل: 16 تم تعديل يناير 23, 2005 بواسطه أبو هادي
أبو هادي قام بنشر أكتوبر 23, 2004 قام بنشر أكتوبر 23, 2004 السلام عليكم ملاحظة الأخ أبوسليمان حل دالة DateAdd2 : تعديل نوع هذا المتغير ليكون مطابق للدالة الأصل كالتالي : ByVal Number As Double وإضافة هذا السطر : Number = Fix(Number) ملاحظات الأخ عبدالله سليمان 1 – لقد حذفتها لاعتقادي الخاطئ أنها فقط نماذج/أمثلة ولم أعلم أنها تستخدم في النموذج :d 2 – الوحدة كانت لدوال ترجع تنسيق التاريخ القصير والطويل في الإعدادات الإقليمية . 3 – أعتقد أنها تحتاج إلى إعادة نظر وسوف أدرس إعادة كتابتها . 4 – كل الدوال يفترض أن تعيد التنسيق الإفتراضي ويمكن لمن يرغب استخدام دالة Test أو Hijri_Arabic لتحويل الإتجاه . 5 – جربها الآن واخبرنا . 6 – تعطي تسلسل اليوم ضمن السنة . 7 – أي حرف ليس من ضمن التنسيقات ستعيدها كما هو ولكن هناك تنسيق "tttt" للوقت الطويل . 8 – أعتقد الآن أنها 100% من الدقة وقد أتعبتني كثيرا وخصوصا أني في البداية كنت أقارنها بالهجري واكتشفت أن النتائج بالهجري غير سليمة ثم بدلت التقويم للميلادي وابتدأت الدراسة والمقارنة من جديد . 9 – تمت المعالجة . 10 – تحتاج إلى تحديد تفصيلي منك حتى أستطيع أن أعالج الأخطاء . 11 – تمت المعالجة . 12 – CDate2 و DateSerial2 و DateAdd2 ، ثلاث دوال تستطيع اختيار نوع الخارج/النتيجة إما نص بشكل تاريخ أو تاريخ بشكل رقم مسلسل . أمر أخير لابد من ذكره - وإن كان بسيطاً - هو الانتباه إلى إعادة نوع التقويم حسب انوع المستعمل في قاعدة البيانات ، عند الخروج من الدالة قبل الوصول إلى سطر إعادة التقويم . الحقيقة لم أفهما آمل التوضيح أكثر . تحياتي .
أبوسليمان قام بنشر أكتوبر 24, 2004 قام بنشر أكتوبر 24, 2004 (معدل) ما شاء الله عليك .. متمكن أخي الأستاذ ابو هادي حقيقة ما قمت به هو عمل جبار وما لاحظته هو استخدامك لـ ( 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 ومن ثم متابعة عمل الدالة ( وبهذا نقترب أكثر من مطابقة عمل الدالة الأصلية ) تلميذكم أبو سليمان تم تعديل أكتوبر 24, 2004 بواسطه أبوسليمان
ahmad s.a قام بنشر أكتوبر 24, 2004 قام بنشر أكتوبر 24, 2004 حياك الله ابو هادي ولبش غير مصرح لنا بانزال مشاركتكم اخوكم ابو هيثم
أبو هادي قام بنشر أكتوبر 24, 2004 قام بنشر أكتوبر 24, 2004 السلام عليكم أخي العزيز أبوسليمان .. اقتراحاتك خطيرة ، أنجزت الأولى وأعمل على الثانية لأكثر من دالة وقد أتأخر عليكم قليلا برفع التعديلات الأخيرة حيث سأضيف على التعديلات تبديل أسماء كل الدوال بحيث تبدأ بحرفي Um بدلا من انتهائها برقم 2 . حبيبي أبو هيثم .. تشرفت بوجودك بيننا وسعدت بمرورك الكريم ، أما موضوع إنزال الملفات فهي متاحة لكل الأعضاء دون استثناء ، حاول مرة أخرى باستخدام حفظ الهدف بإسم Save Targe As بعد الضغط على زر الفأرة اليمين . تحياتي .
أبوسليمان قام بنشر أكتوبر 25, 2004 قام بنشر أكتوبر 25, 2004 (معدل) أخي العزيز الأستاذ أبو هادي أشكرك كل الشكر على الإطراء والاستفادة من اقتراحاتي في عمل تقويم أم القرى فهذا بالنسبة لي (شرف وفخر) وأسأل الله العلي القدير أن يقويك في إكمال تقويم أم القرى ، وأن يجعل كل ما تبذله من جهد في ميزان حسناتك ملاحظات أخرى أخي العزيز : دالة 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") طبعًا هذه الصورة ستكون بعد التعديلات التي ذكرتها **** لحظة للترويح ***** سر فلا كبا بك الفرس هل تعلم سر هذه العبارة ********************** أخوك وتلميذك المحب أبوسليمان تم تعديل أكتوبر 25, 2004 بواسطه أبوسليمان
أبو هادي قام بنشر أكتوبر 26, 2004 قام بنشر أكتوبر 26, 2004 (معدل) السلام عليكم تعديلات كثيرة منها أضافة بعض الدوال الجديدة وتصحيح الأخطاء وحل مشكلة تاريخ 30-12-1899 وسببها الفجوال . وقد جعلت إرجاع قيمة نص هي التنسيق الإفتراضي . أخي أبوسليمان .. بارك الله فيك على وقفتك المشرفة معي ولك بعض التعليقات : 1 - أرى أخي أن نتقيد بقدر المستطاع بالدوال الرئيسة واستقلالية كل منها بوظيفتها . 2 - فكرة دوال الوقت شبه اكتملت في رأسي ولكن سأؤجلها إلى مرة أخرى من التطويرات . 3 - يبقى هناك أمر واحد أميل إليه الآن وهو كما أعتقد كانت رغبتك ورغبة الأخ عبدالله سليمان وهو جعل الإتجاه الإفتراضي من اليمن إلى اليسار للتنسيق ، فإذا لا زالت هذه الرغبة قائمة قمت بتعديلها فورا . 4 - في النموذج عملت صندوق/مربع نص يقرأ التنسيق من خصائص المربع نفسه .. آمل الإطلاع . 5 - مودته تدوم لكل هول * وهل كل مودته تدوم ( هذه لأبي سليمان فقط ) . تحياتي . ملاحظة : لقد لاحظت الآن فقط أني قد نسيت التعديل في دالة Now فاعتبروها غير منتهية واستبعدوها من تجاربكم . الملفات المرفقة UmAlQura_20041026.rar ( 103.15ك ) عدد مرات التنزيل: 18 تم تعديل يناير 23, 2005 بواسطه أبو هادي
أبوسليمان قام بنشر أكتوبر 29, 2004 قام بنشر أكتوبر 29, 2004 شكرًا لك أستاذ أبو هادي واعتذر عن تأخري في المتابعة فقد مررت بظروف منعتني من مراجعة الموضوع قمت بإنزال الملف الآن ولم أطلع عليه بعد وسأوافيك بالملاحظات إن وجدت ؛ في وقت لاحق إن شاء الله تعالى وتقبل خالص تحياتي أخوك أبوسليمان
عبدالله سليمان قام بنشر نوفمبر 1, 2004 الكاتب قام بنشر نوفمبر 1, 2004 الأخ / أبو هادي تسلم على التعديلات الأخيرة ، وإن شاء الله نلقى الوقت لتجربتها . وبرفقه رابط لتقويم أم القرى من عام 1 إلى عام 1450 http://www.awalnet.net.sa/arabic/files/hijrical.asp?m=6&y=1
أبو هادي قام بنشر نوفمبر 1, 2004 قام بنشر نوفمبر 1, 2004 (معدل) السلام عليكم شكرا لك أخي عبدالله سليمان . فحصت نتائج سنة واحدة فقط وهي سنة 1300هـ فوجدتها تختلف عن نتائج التقويم لدينا الصادر من وزارة المالية والاقتصاد الوطني وهذا مما يدلل أن النتائج محسوبة بناء على الطريقة الجديدة أي ابتداء من عام 1420هـ ، وهذا سوف يؤدي إلى مشكلات عديدة حيث أن النتائج لن تطابق ما اعتمد استخدامه في الدولة وما أرخ فيه لكل الفترة الماضية . عليه من وجهة نظري أن نستبعد إضافة السنوات ما قبل عام 1300هـ ، مجرد وجهة نظر وبانتظار رأيكم ورأي أخي أبوسليمان والمهتمين بالموضوع . تحياتي . تم تعديل نوفمبر 1, 2004 بواسطه أبو هادي
أبوسليمان قام بنشر نوفمبر 3, 2004 قام بنشر نوفمبر 3, 2004 (معدل) السلام عليكم ورحمة الله وبركاته الأستاذ المبدع / أبو هادي أبدعت حقًا في الدوال . وما استطعت فحصه هي دالة UmFormat فقط ولم ألحظ عليه شيء حتى الآن في النتائج ، وهي - حسب الفحص المبدئي - متطابقة مع نتائح دالة Format . ولم يسعفني الوقت لفحص عمل بقية الدوال ولعلي أستأنف معكم بعد انقضاء هذا الشهر الفضيل إن شاء الله تعالى - أسأل الله أن يبلغنا تمامه - . وبالنسبة لتنسيق التاريخ من اليمين إلى اليسار ما دمت تميل إلى ذلك أخي أبو هادي فتوكل على الله . وبالنسبة لمربع النص الذي يقرأ التنسيق من خصائص المربع نفسه فقد أعجبت كثيرًا بهذه الطريقة وكنت منذ مدة أبحث عن كيفية الاستفادة من خيار "تنسيق" في خصائص مربع النص بالنسبة لتقويم أم القرى - وقد أفدتنا بارك الله فيك وأجزل لك المثوبة - . مودته تدوم لكل هول * وهل كل مودته تدوم أعجتبني عبارتك هذه كثيرًا وسررت بها أكثر ، وهي تكافئ : سر فلا كبا بك الفرس تكافئها في السر الذي قصدته ، وليس المعنى طبعًا ، فمعنى البيت جميل ولطيف ، ولا أجد ما أكافئك عليها . أخي الأستاذ/ عبدالله سليمان لك الشكر الجزيل على هذا الرابط والذي يزويدنا بالماضي من تقويمنا العزيز . غير أني أميل إلى رأي الأستاذ أبو هادي فاحتياجنا لمثل هذا العمق من التقويم قد يكون شبه منعدم ، إلا إذا ظهرت حاجة قوية إلى هذه الفترة . تقبل الله الصيام والقيام وكل عام وانتم بألف صحة عافية وعساكم من عواده أخوكم ومحبكم أبو سليمان تم تعديل نوفمبر 3, 2004 بواسطه أبوسليمان
عبدالله سليمان قام بنشر نوفمبر 3, 2004 الكاتب قام بنشر نوفمبر 3, 2004 (معدل) أشكر لكما التواصل : - لقد جربت الدوال في برنامج الوورد VBA ونجحت بالعمل مع بعض التعديلات على أحداث مربع النص قبل وبعد التحديث .ر - تغيير أسماء الدوال توجه صحيح وقد كنت أفكر فيه لكن أبو هادي سبقني أليه . - أبو هادي الأمر كما قلت فيجب أن يكون حساب التقويم في السنوات التي سبقت اعتماد تقويم أم القرى كما هو دون تغيير ، ولكن ألا يمكن أن نبدأ من اليوم الأول للتقويم الهجري . ولا أدري حقيقة ماذا سيكون وضع التواريخ الموجودة في كتب التاريخ المعتمدة هل ستخلف فيها التواريخ أو الأيام عن هذا التقويم . وما هو المرجع عند وجود الاختلاف هل هو من عاش الحدث وسجل اليوم والتاريخ أم نحن بتقويمنا . - يرتبط بما سبق فكرة برمجة برنامج بالفيجول بيسك لتحويل التاريخ يكون متعددة الأفكار ( أم القرى والهجري والميلادي ) مع ملفات مساعدة توضح الفرق بين التقاويم . - كما أنه في النهاية وعند اكتمال العميل يجب علينا تحويل جميع هذه الدوال إلى مكتبة (DLL) من يرغب في استخدامها يقوم بإضافتها إلى الأكسس بكل سهولة. مع عمل ملفات مساعدة لها . - لعله بالإمكان بعد عمل المكتبة مراسلة مدينة الملك عبدالعزيز للعلوم والتقنية للأخذ شهادة منها بصحة بيانات الدوال التاريخية لهذه الدالة . بعد ذلك يمكن مراسلة شركة مايكروسوفت أو فرعها بالسعودية لتضاف هذه المكتبة وملفات المساعدة الخاصة بها إلى برامج الأوفيس ، مع حفظ حقوق أخينا أبو هادي الأدبية فيها. أرجو ألا أكون قد شطحت بعيداً بأفكاري . :d برفقه المثال بالدوال الجديدة مع بعض التعديلات البسيطة خاصة على طريقة العرض في النموذج . الملفات المرفقة UmAlQura_20041103.rar ( 83.96ك ) عدد مرات التنزيل: 22 تم تعديل يناير 23, 2005 بواسطه أبو هادي
عبدالله سليمان قام بنشر نوفمبر 3, 2004 الكاتب قام بنشر نوفمبر 3, 2004 (معدل) نسيت أن أذكر أن دالة DateDiff تختلف فيها النتيجة بالسنة والأسبوع كما في المثال السابق عند تحويل التقويم إلى ميلادي ، ولعل الحل لهذه المشكلة هو تحويل التقويم إلى ميلادي في دالة UmDateDiff للتتطابق النتائج في السنة أم الأسبوع فهو مرتبط في السنة الميلادي بأمور أخرى كبداية أول أسبوع في السنة . تم تعديل نوفمبر 3, 2004 بواسطه عبدالله سليمان
أبو هادي قام بنشر نوفمبر 3, 2004 قام بنشر نوفمبر 3, 2004 السلام عليكم لعلي أستأنف معكم بعد انقضاء هذا الشهر الفضيل إن شاء الله تعالى - أسأل الله أن يبلغنا تمامه - . أخي أبوسليمان .. بلغكم الله تمامه وأعاده عليكم أعواما مديدة وتقبل الله منكم صيامكم وقيامكم . - يرتبط بما سبق فكرة برمجة برنامج بالفيجول بيسك لتحويل التاريخ يكون متعددة الأفكار ( أم القرى والهجري والميلادي ) مع ملفات مساعدة توضح الفرق بين التقاويم . - كما أنه في النهاية وعند اكتمال العميل يجب علينا تحويل جميع هذه الدوال إلى مكتبة (DLL) من يرغب في استخدامها يقوم بإضافتها إلى الأكسس بكل سهولة. مع عمل ملفات مساعدة لها . - لعله بالإمكان بعد عمل المكتبة مراسلة مدينة الملك عبدالعزيز للعلوم والتقنية للأخذ شهادة منها بصحة بيانات الدوال التاريخية لهذه الدالة . بعد ذلك يمكن مراسلة شركة مايكروسوفت أو فرعها بالسعودية لتضاف هذه المكتبة وملفات المساعدة الخاصة بها إلى برامج الأوفيس ، مع حفظ حقوق أخينا أبو هادي الأدبية فيها. أخي عبدالله سليمان .. سأعود لك فيما بعد للتعليق على هذه الملاحظات :d وشكرا لجهودك الكريمة . أنا الآن بصدد معالجة التاريخ ودوالها ، وقد طعت المرحلة الأصعب وسوف تكون هدية العيد إن شاء الله تعالى ولكنها ستحتاج وقت وقد يطول الوقت بعض الشيء ، فانتظروني . تحياتي .
عبدالله سليمان قام بنشر نوفمبر 4, 2004 الكاتب قام بنشر نوفمبر 4, 2004 الأخ / أبو هادي أشكر لك ردك ، وعذراً عن الأخطاء في الرد السابق فقد كتبته ونصفي نوم .
rudwan قام بنشر نوفمبر 17, 2004 قام بنشر نوفمبر 17, 2004 السلام عليكم و كل عام و أنتم بألف خير أستاذنا أبو هادي لدي سؤال يتعلق بموضوع برنامج فواتير الكهرباء في السعوديه و لكنه يتعلق بفقرة التواريخ . فقد عملت برنامجا مشابها و لكنه أطول و أوسع , و لكن واجهتني مشكلة الفترة الزمنية بين التاريخين السابق و الحالي , حيث أجد فروقات دائما . و قد جربت في مثالك الذي أرفقته بخصوص برنامج الكهرباء في الموقع , و كانت النتائج صحيحه بتوفيق الله فهل استخدمت دوال أم القرى في ذلك البرنامج , مع أنه كان منذ حوالي أكثر من سنه ؟ و هل من الممكن أن أطبقها في برنامجي ؟
أبو هادي قام بنشر نوفمبر 17, 2004 قام بنشر نوفمبر 17, 2004 السلام عليكم أخي rudwan .. أنا لا أتذكر ماكتبته قبل أسبوع حتى أستطيع أن أتذكر ماكتبه قبل سنة :( عموما إذا أردت دالة لحساب الفترات بشكل سنوات وشهور وأيام فالدوال من ضمنها دالة GetPeriod تقوم بذلك بكل دقة مع ملاحظة تمرير رقم3 لنوع التقويم . أما إذا أردتها بالأيام فتستطيع استخدام دالة Um2Greg لتحويل تاريخ أم القرى إلى ميلادي ثم تطرح التاريخين من بعضهما أو استخدام دالة UmDateDiff مباشرة . فقد عملت برنامجا مشابها و لكنه أطول و أوسع طيب أخ rudwan لماذا لا ترينا شيئا ولو يسيرا مما عملته فيما يخص هذا الموضوع فأنت كريم ونحن نستاهل :d تحياتي .
أبو هادي قام بنشر نوفمبر 17, 2004 قام بنشر نوفمبر 17, 2004 (معدل) السلام عليكم آسف على التأخير ، مرفق المثال من جديد مع دعم الدوال بكل ما يخص الوقت . بمعنى آخر أعتقد أنها الآن كاملة ومشابهة تماما للداول الأصل ماعدا التالي : مدد/نتائج السنة والشهر والأسبوع لدالة UmDateDiff حيث تعتمد نتائجها على دالة GetPeriod والتي بدورها لا تعتمد العاملين : 1 - أول يوم في الأسبوع 2 - أول أسبوع في السنة كما الدالة الأصل ، وهي لا تزال تحت الدراسة ولكنها تفي بالغرض إلى نسبة 99.99% . أعتقد أن الدوال أصبحت أكثر تعقيدا وتحتاج التدقيق العنيف ولو أني ضد العنف ولكن الضرورة تقتضيه الآن :d ملاحظة : شاهدوا Query2 حيث تتعامل دوال التاريخ مباشرة مع التاريخ الميلادي أو الهجري دون الحاجة إلى تحويل وهذا قد يقنع بما فيه الكفاية من يقوم بتخزين التاريخ بشكل نصي أن يتراجع ويبدأ فورا باستخدام حقول التاريخ . تحياتي . الملفات المرفقة UmAlQura_20041119.rar ( 132.42ك ) عدد مرات التنزيل: 13 تم تعديل يناير 23, 2005 بواسطه أبو هادي
rudwan قام بنشر نوفمبر 18, 2004 قام بنشر نوفمبر 18, 2004 أستاذي الفاضل ابو هادي أشكرك من أعماق قلبي على الرد الجميل , و آسف ان كنت أخطأت التعبير عندما قلت أنني عملت برنامجا أوسع و اشمل , فأنا بالتأكيد لم أقصد أنه أوسع و أشمل من الناحيه البرمجيه , ( مع الاعتذار للاستاذ أبو عقيل فالمثال كان له و ليس للآستاذ أبو هادي ) و لكنني باعتباري أعمل في شركة و أنظم فيها عملية دفع فواتير الكهرباء التي تتجاوز 300 فاتوره , فكان من الضروري القيام بعمل برنامج لضبطها , و أنا يشرفني وضعه في الموقع لكن كيف ؟ ثانيا جربت مثالك الموجود أعلاه على فاتوره , كان تاريخ بدايتها 9/7/1425 و النهايه 13/8/1425 حسب مثالك umdatediff الفتره الزمنيه 33 يوما بينما في مثال الآستاذ أبو عقيل 34 يوما , و هو مطابق لحساب الفاتوره الفعلي من قبل شركة الكهرباء حساب فاتورة الكهرباء في السعوديه لذا أتمنى أن أعرف الداله التي استخدمها الاستاذ أبو عقيل في مثاله
أبو هادي قام بنشر نوفمبر 18, 2004 قام بنشر نوفمبر 18, 2004 (معدل) السلام عليكم لقد أنزلت مثال الأخ أبو عقيل وفحصت النتائج وكانت النتائج كالتالي : - لا تقويم مستخدم في المثال أي أنه لا يستخدم التقويم الهجري ولا يستخدم تقويم أم القرى . - لذلك هو يستخدم حقول نصية للتاريخ ويقوم باستخراج المدد باعتبار أن مدة كل الشهور 30 يوم . - لذا فأن النتائج كلها تقريبية وتفتقد إلى الدقة . - يمكن للأخ أبو عقيل الإقتراب إلى الدقة بشكل كبير بعمل التالي : استخراج المدة بين تاريخين باستبعاد تاريخ البداية كالتالي : YearAvg = 354.366667 Days = Round(((yy + (mm / 12)) * YearAvg) + (dd / 360 * YearAvg)) استخراج المدة بين تاريخين بتضمين تاريخ البداية كالتالي : Days = Round(((yy + (mm / 12)) * YearAvg) + ((dd + 1) / 360 * YearAvg)) أما دالة UmDateDiff فهي معدة لتقويم أم القرى وهي شبيهة لدالة DateDiff الأصل . واستخدامها كالتالي : استخراج المدة بين تاريخين باستبعاد تاريخ البداية كالتالي : Days = UmDateDiff("d", "09/07/1425", "13/08/1425") استخراج المدة بين تاريخين بتضمين تاريخ البداية كالتالي : Days = UmDateDiff("d", "09/07/1425", "13/08/1425") + 1 تحياتي . تم تعديل نوفمبر 18, 2004 بواسطه أبو هادي
alfrdos قام بنشر نوفمبر 18, 2004 قام بنشر نوفمبر 18, 2004 ربنا يكرمك على العلم الذى ينتفع به ان شاء الله وجعلها الله فى ميزان حسناتكم
rudwan قام بنشر نوفمبر 20, 2004 قام بنشر نوفمبر 20, 2004 (معدل) السلام عليكم أستاذنا أيو هادي حفظك الله , أنا آسف لم اتمكن من تجربة الداله الا اليوم صباحا , و قد جربتها على عدة فواتير بتواريخ مختلفه و قد أعطت النتائج التاليه - تاريخ من - تاريخ الى - الفترة حسب الفاتوره - الفتره حسب umdatediff 23/6/25 -- 26/7/25 ----- 33 --------- 34 14/7/25 -- 15/8/25 ----- 30 --------- 31 30/6/25 -- 1/8/25 ----- 30 ---------- 31 09/5/25 -- 10/6/25 ---- 30 ---------- 31 أما بقية النتائج فقد كانت متطابقهو أنا أخشى أن تكون حساب الفتره لدى شركة الكهرباء نفسها غير صحيحه لأنني وجدت الفاتورتين التاليتيين من قبل الشركة من 20/7/25 الى 19/8/25 = 30 يوما من 19/7/25 الى 19/8/25 = 30 يوما و الواضح أن احدى النتيجتين غير صحيح لأن البدايه مختلفه تم تعديل نوفمبر 20, 2004 بواسطه rudwan
أبو هادي قام بنشر نوفمبر 20, 2004 قام بنشر نوفمبر 20, 2004 (معدل) السلام عليكم شكرا لك أخي rudwan .. تجربتك ممتازة وتثبت أن الدالة تؤدي وظيفتها على ما يرام ، أما نتائج شركة الكهرباء فالخطأ واضح ولا يحتاج لبذل المزيد من التجارب . فقط سأوضح لك متى تضيف يوم على المدة ومتى تمتنع عن إضافته . بافتراض أن تاريخ انتهاء فاتورة ما هو 15/09/1425هـ : - لو أن تاريخ البداية للفاتورة التالية هو نفسه 15/09/1425هـ فستستخدم الدالة UmDateDiff دون الحاجة إلى زيادة يوم . - أما لو أن تاريخ البداية للفاتورة التالية 16/09/1425هـ فستضطر إلى إضافة يوم على نتيجة الدالة . تحياتي . تم تعديل نوفمبر 20, 2004 بواسطه أبو هادي
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.