الإخوة الكرام
السلام عليكم ورحمة الله وبركاته
أرفق لكم برنامج لحساب الخدمة وهو من برمجة الأخت زهرة لكن المشكلة إن التواريخ بالتقويم الميلادي
وأنا أريد إدخال التاريخ بالهجري .
الإخوة الكرام
السلام عليكم ورحمة الله وبركاته
أرفق لكم برنامج لحساب الخدمة وهو من برمجة الأخت زهرة لكن المشكلة إن التواريخ بالتقويم الميلادي
وأنا أريد إدخال التاريخ بالهجري .
عندك حاجتين لازم تعدلها
واحدة
في لوحة تحكم الوندز افتح على الاعدادات الاقليمية ثم غير صيغة التاريخ الى الهجري
الثانية
في ادوات اكسس / خيارات / لسان التبويب : اعدادات دولية ثم قم بالتأشير على على خانة استخدام التاريخ الهجري
أخي الكريم بارك الله فيك
قمت بالتعديل كما طلبت لكن نفس المشكلة
شوف المرفق وأنت تحكم بنفسك . إنه لازم يحتاج تعديل .
دمت في حفظ الرحمن .
التعديل في الجدول
غير نوع البيانات في حقلي التاريخ Mob_Wezara و BWorkDate من : نص الى : تاريخ ووقت
أخي الكريم قمت بالتعديل ولكن ما يقبل التاريخ الهجري
إذا كتبت تاريخ هجري يطلع 561 سنة وهذا شيء مو معقول .
أخي الكريم كان ودي أنك تجرب وتشوف وين المشكلة بارك الله فيك .
دمت في حفظ الرحمن .
تقبل تقديري واحترامي .
بارك الله فيك أخي الغالي
طيب أخي الكريم هل يمكن أن نحول حقل تاريخ/وقت إلى تاريخ نص لكي نكتب حرف هـ
ويقوم بعملية المقانة مع تجاهل حرف هـ
دمت في حفظ الرحمن .
هل من مجيب في هذا الشهر الكريم
هل من مساعدة
كل عام وأنتم بألف ألف خير
تقبل الله صالح أعمالكم .
يا إخوان كيف طريقة حساب سنوات الخدمة بالنسبة للتقويم الهجري
يعني عندي تاريخ مباشرة الموظف
15/01/1410
إلى يوم
15/01/1430
المنطق يقول إنها
20 سنة
ولكن البرنامج يعطيني
22 سنه و 8 شهر و 17 يوم
هل هناك خلل بالبرنامج أم أن البرنامج مصمم على التقويم الميلادي
للرفع
أبو عبير 2005 كتب:يا إخوان كيف طريقة حساب سنوات الخدمة بالنسبة للتقويم الهجري
يعني عندي تاريخ مباشرة الموظف
15/01/1410
إلى يوم
15/01/1430
المنطق يقول إنها
20 سنة
ولكن البرنامج يعطيني
22 سنه و 8 شهر و 17 يوم
هل هناك خلل بالبرنامج أم أن البرنامج مصمم على التقويم الميلادي
حسب الكود فإن البرنامج يحسب فرق التاريخ المدخل عن تاريخ اليوم ، وحسب التجربة وجدت أن حساب الخدمة صحيح تقريبا ولكن هناك خلل في حساب العمر وأعتقد أن طريقة حساب العمر مختلفة عن طريقة حساب الخبرة والخطأ يكمن في طريقة الحساب. ![]()
فلو حسبت الفرق من تاريخ مباشرة الموظف إلى التاريخ الفعلي لليوم ستجد النتيجة منطقية. ![]()
أخي الكريم بارك الله فيك وفي ذريتك
أنا أريد حساب الخدمة من تاريخ مباشرة الموظف إلى التاريخ المدخل من قبل المستخدم . وليس حسب تاريخ الجهاز .
يعني يحسب الفرق بين تاريخ مباشرة الموظف وتاريخ الذي يدخله المستخدم .
أبو عبير 2005 كتب:أخي الكريم بارك الله فيك وفي ذريتك
أنا أريد حساب الخدمة من تاريخ مباشرة الموظف إلى التاريخ المدخل من قبل المستخدم . وليس حسب تاريخ الجهاز .
يعني يحسب الفرق بين تاريخ مباشرة الموظف وتاريخ الذي يدخله المستخدم .
عملت لك نموذج يحس فرق التاريخين حسب التاريخ الهجري أتوقع انه هذا هو طلبك ، جرب النموذج Test الذي اضفته لك وستجد فيه الكود الذي استخدمته من أجل الحساب وأتمنى أنه يقوم بالمطلوب وكل عام وانتم بخير. ![]()
نعم أخي الكريم هذا هو المطلوب
بارك الله فيك وفي علمك وعملك .
كل عام وأنت بألف ألف خير .
أخي الكريم هناك مشكلة في البرنامج
وهو إذا كان تاريخ المباشرة مثلاً الشهر 7 وتاريخ الى مثلاً 6 يعطيني نتيجة بالسالب .
وكذللك اليوم
شوف المثال التالي
تاريخ المباشرة 24/07/1410
إلى تاريخ 20/06/1420
المفروض يكون 9 سنوات و 11 شهراً
ولكن شوف الناتج
10 سنوات و -1 و -1 يوم
يعني بالسالب .
هل من حل .
دمتم في حفظ الرحمن .
أخي الكريم أبو عبير عملت لك الطريقة السابقة لحساب الفروقات وبعد التدقيق فيها وجدت الملاحظات التالية:
1- يتم حساب الفرق في التاريخ غالبا على طريقة حساب التقويم الميلادي ويوجد بعض الأخطاء فيه ولكن عند استخدامه في التقويم الميلادي سيكون أكثر دقة.
2- أفضل طريقة لحساب الفروقات هي الطريقة التقليدية بحيث يحسب فرق السنوات ثم الاشهر ثم الأيام بطريقة حسابية مبسطة عبارة عن الطرح والجمع.
تم عمل العملية الحسابية على نفس نموذج Test وذلك لتجربتها ونجحت ببعض الاخطاء الصغيرة والتي تم معالجتها بجملتين شرطية أحداها تكون لتعديل الأيام و الاشهر والأخرى لتعديل الأشهر والسنة وبذلك يكون الفرق ليس فقط منطقيا ولكن معقول حسابيا ايضا بحيث أن الاشهر اذا زادت تحول إلى السنة والأيام لو زادت تحول إلى الاشهر وبذلك تم حل المشكلة وأرفقت لك المثال بعد التعديل.
فأرجو منك التجربة واتمنى أن يوفقني الله ليكون هذا هو افضل حل واتمنى لك التوفيق.![]()
تم تعديل هذه المشاركة بواسطة superhot3000 في 7 سبتمبر 2011 في 14:24
بارك الله فيك وفي ذريتك وفي علمك وعملك
فرج الله عنك كربة من كرب يوم القيامة
وبارك الله لك في مالك وولدك .
تقبل فائق تقديري واحترامي .
دمت في حفظ الرحمن .
أخي الكريم
أنا عندي مربع نص في النموذج يعتمد على التاريخ الميلادي
وأنت إعتمدت في القاعدة على خيار ( استخدام التقويم الهجري )
وعندما أزيح علامة الصح يكون حساب الخدمة خطأ . فهنا لابد من استخدام التقويم الهجري في القاعدة .
ولكن عندي مربع نص يعتمد على التاريخ الميلادي . كيف أجعل قيمة هذا النص بالتاريخ الميلادي ( أي لا تتأثر بإستخدام التقويم الهجري )
دمتم بخير .
هل المطلوب حساب فترة الخدمة بالتاريخ الهجري أم بالتاريخ الميلادي ؟
وضح الهدف حتى أقدر على استيعاب الفكرة ، يعني هل تريد حساب الفترة بالاعتماد على التاريخ الهجري ويكون التاريخ المستخدم ميلادي ، كأن تدخل الفترة بالتاريخ الميلادي ويكون الحساب بعدد ايام وشهور وسنين الهجري كأنه يقوم بالتحويل للهجري ويقوم بالحساب ويعطي الناتج؟![]()
آسف لم استوعب طلبك فلو تشرح لي بتفصيل أكثر اكون شاكرا لك واعذرني اذا كنت قد وجدت تقصيرا فأنا عملت ما قد فهمت![]()
أخي الكريم بارك الله فيك وفي ذريتك وزادك من علمه ورزقك من حيث لا تحتسب
أولاً مثالك أكثر من رائع فهو يحسب عدد سنوات الخدمة بالهجري وهذا الذي أريده .
المشكلة التي أواجهها الآن هي أنه عندي حساب آخر ولكن يعتمد على مربع نص ويكون التاريخ فيه بالميلادي ( مربع النص الآن بعد ما وضعت علامة صح على استخدام التقويم الهجري أصبح التاريخ فيه هجري وأنا أريده يكون بالميلادي ) علماً بأن مربع النص ليس له علاقة بحساب خدمة الموظف . له استخدام آخر ولكن ضروري وجوده في النموذج .
يعلم الله أني أحبك في الله .
تقبل فائق تقديري واحترامي .
فهمت طلبك ، الأخوة أرسلوا لك الحل بمثال تم تحويل التاريخ في قاعدة البيانات فيه إلى التاريخ الهجري ، وكل ما تحتاج إليه هو التالي :
1. بما أن قاعدة البيانات لديك بالتاريخ الميلادي اتركها على حالها واعمل تعديل على الحقلين الذين تريدهما كي تكون هي فقط بالتاريخ الهجري.
2. لعمل تاريخ هجري في حقول معينة يتم عمل دالة تقرأ التاريخ هجري وتكون هي دالة هذين الحقلين.
3. أدخل الكود الذي عملته لك في المثال ليقرأ من هذين الحقلين ويحسب لك الفرق.
ولكن اذا واجهتك أي مشكلة ارفق لي العينة وساقوم بالتعديلات اللازمة عليها وابشر باللي يرضيك. ![]()
تم تعديل هذه المشاركة بواسطة superhot3000 في 9 سبتمبر 2011 في 04:15
أخي الكريم بارك الله فيك وفي علمك ومالك وولدك
أخي الكريم القاعدة التي أرفقتها لي تعتمد على التاريخ الهجري وليس الميلادي .
أخي هل يمكن أن تساعدني بالتالي :
أريد حساب خدمة الموظف من تاريخ المباشرة إلى التاريخ الذي يدخله المستخدم ( يطلع بالهجري ) الحساب في هذين الحقلين بالتاريخ الهجري كما في مثالك السابق .
في نفس النموذج يوجد مربع نص غير منظم ( يكون التاريخ فيه بالميلادي ) .
أخي الغالي أنت إعتمدت في مثالك الذي أرفقته لي على التقويم الهجري للقاعدة . وهذا ما سبب لي الخلل في مربع النص الذي يعتمد على التاريخ الميلادي .
كل ما أريده أن تكون قيمة مربع النص بالتاريخ الميلادي في مثالك السابق .
دمت في حفظ الرحمن .
تقبل فائق تقدير واحترامي .
اخي الكريم ، قاعدة البيانات التي عدلت لك عليها كانت القاعدة التي اعطاك اياها الاخوان وقد عملت لك طريقة الحساب في نموذج مستقل
، وفي ردي السابق طلبت منك اخذ الكود الخاص بالازرار الذي يحب الفترة ووضعه في القاعدة الخاصة بك لحساب الفرق
، وحتى تتضح لك الصورة أكثر هذه القاعدة بدون تحويل للتاريخ وتقرأ التاريخ الميلادي وتدخل عليها التاريخ الهجري في الخانتين وتحسب لك الفرق ،
المهم أن تستخدم الكود الخاص بالحساب ولا يهم أبدا تاريخ قاعدة البيانات فأنت حر فيه المهم أنك تضع التاريخين الذين تريد حسابهما بالهجري والكود سيحب لك الفرق. ![]()
الحساب الموجود حساب عادي ليس له دخل بنوع التاريخ هجري او ميلادي ولكن يحسب بافتراض التاريخ الهجري ، لو ادخلت تاريخين غير الهجري أو الميلادي فسيتم حساب الفرق بينهما على افتراض أنهما تاريخين هجري حتى ولو كانا بين 1100 هـ أو 5900 هـ
، ارفقت لك مثال على قاعدة بيانات بالتاريخ الميلادي ولا زالت تؤدي الغرض جربها.![]()
أخي الكريم بارك الله فيك وفي ذريتك
أنا آسف أتعبتك معي وغلبتك .
لكن أخي شوف الصورة وشوف ناتج التاريخ التالي
25/10/1410 و تاريخ 26/10/1430
المنطق يقول إن الفرق بينهما هو 20 سنة و 0 شهر
لكن شوف الصورة المرفقة يبن لي أن الفرق بينهما هو 20 سنة و 7 شهور و 14 يوم .
كيف تم زيادة 7 شهور و 14 يوم . ( هنا تكمن المشكلة ) .
تقبل فائق تقديري واحترامي .
الله لا يحرمك الأجر .
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…