الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

حل مشكلة جمع الشهور اذا زادت عن 24 شهر

بدأه shor1390 في 4 يونيو 2009 · 10 رد · 575 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاتة

اتقدم بالشكر الجزيل لجميع القائمين على هذا المنتدى والذي افادني وزملائي

فنسأل الله العلي العظيم ان يجزيكم خير الجزاء وان يجعل ذلك في ميزان حسناتكم

سؤالي :

هو انني استخدمت برنامج صممته الاستاذه الفاضله " زهره "

وهو خاص بحساب سنوات الخدمة

وكان رائع الى اقصى حد

ولكن في جمع الاشهر اذا زادت عن 24 شهر لا يجمعها " سنتين "

وانما يجمعها سنة واحدة

وموضح ذلك في المثال المرفق

آمل بعد اذن الاستاذه زهره

حل مشكلتي ... وهل هو خطأ مني في ادخال البيانات ؟

ولكم جزيل الشكر

test.rar

post-70714-1244100088_thumb.jpg

تم تعديل هذه المشاركة بواسطة shor1390 في 4 يونيو 2009 في 11:22

#2

للعلم:

حاولت اعدل بس لم افلح في حل المشكله

#3

لا زلت مستمر في المحاوله

لحل مشكلتي

ولكن سؤال :

هل المشكله في كود الوحدة النمطية

او ان المشكله فقط في الدالة

حيث ان خبرتي في الوحدات النمطية ضعيفه

#4

عذرا على الازعاج

ولكن كررت المحاوله عدة مرات

ولم اصل حتى الان الى حل

والآمر الصعب الذي واجهته هو كود جعل الرقم بعد 24 شهر يصبح سنه

#5

حاولت ان اطبق الكود الذي يجعل 30 يوم تكمل شهر

حتى استفيد منه واطبقه على الاشهر

ولكن حدثت معي نفس المشكلة وهي انه لا يقوم بجمع الايام الاكثر من 30

كما هو واضح في الصورة المرفقه

عذرا على ازعاجكم

ولكن هذا البرنامج وجدت فيه ضالتي

وارغب في حل الجمع فقط

اما فكرة البرنامج وبقية اموره فعال العال

وهو ما كنت ابحث عنه من وقت طويل

post-70714-1244124544_thumb.jpg

#6

.

#7

رفع

#8

السلام عليكم

أرجو تبديل الكود الموجود بالوحدة النمطية Module 2 بالآتي :

Function Work(SumDto, SumMto As Byte, SumYto As Integer) As String
Dim dd, mm As Byte
Dim yy As Integer
If SumDto > 30 Then
SumDto = SumDto Mod 30
SumMto = SumMto + 1
End If
Do While SumMto > 12
SumMto = SumMto - 12
SumYto = SumYto + 1
Loop
dd = SumDto
mm = SumMto
yy = SumYto
Work = dd & " يوم و" & mm & " شهر و" & yy & " سنة"
End Function

تم وضع تغييرات بسيطه جداً به

المشكلة احتمال تظهر معاك إذا كان عدد الأيام أكثر من 60 و لكن بما أنك لم تشتكِ من ذلك فليبقي كما هو

تم تعديل هذه المشاركة بواسطة Dream_Works في 5 يونيو 2009 في 17:14

200px-Dreamworks.jpg
#9

السلام عليكــم ورحمـة الله وبركاتــه ،،

شكراً لك

وبارك الله فيك اخي العزيز

Dream_Works

وعذرا على ازعاجك ....

فعلاً انحل من المشكلة الجزء الآكبر ولكن بقي امر بسيط وهو ملاحظ في حساب اليوم

كما تشاهد بالصورة

فهل لها الامر حل كما تم حل السابق

Test_2.rar

post-70714-1244222434_thumb.jpg

#10

إن شاء الله يكون هذا تمام

Function Work(SumDto, SumMto As Byte, SumYto As Integer) As String
Dim dd, mm As Byte
Dim yy As Integer
If SumDto > 30 Then
SumMto = SumMto + (SumDto \ 30)
SumDto = SumDto Mod 30
End If
If SumMto > 12 Then
SumYto = SumYto + (SumMto \ 12)
SumMto = SumMto Mod 12
End If
dd = SumDto
mm = SumMto
yy = SumYto
Work = dd & " يوم و" & mm & " شهر و" & yy & " سنة"
End Function
200px-Dreamworks.jpg
#11

السلام عليكــم ورحمـة الله وبركاتــه ،،

بيض الله وجهك

والف الف الف الف شكر

نعم ضبط معي 100%

ولك خالص شكري وتقديري

يا معلمي الفاضل : Dream_Works

وجزاك الله خير الجزاء

وانا والله اعتذر منك على انني اخذت من وقتك واشغلتك معي

:clapping:

:ty:

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…