תאריכים..

SilverFog

New member
תאריכים..

היי
איך אני יכול לעשות ככה שכאשר אני אחסר את התאריך של היום מתאריך לידה של מישהו בתשובה יופיע לי בן כמה הבן אדם (שנים-חודשים-ימים) ? תודה רבה על כל עזרה !: -)
 

Shmenky

New member
טוב עשיתי קומבינה

AAA = DateDiff("d", "20/5/2007", Date) MsgBox AAA \ 365 & " שנים, " & (AAA Mod 365) \ 30 & " חודשים" & (AAA Mod 365) Mod 30 & " ימים", vbMsgBoxRtlReading זה ממש לא מדויק (בטווח של כמה ימים או חודשים אוליי זה בסיידר) וגם עשיתי את זה בדרך עילגת למדיי. תנסה אוליי לשחק עם הפורמטים של הDATE, כי הDATEDIFF מדוייק מאוד הבעיה היא בחלוקות המצחיקות שעשיתי (כי בממוצע בחודש יש 30 נקודה משהו ימים ובשנה יש משהו ורבע וכו') קיצור צריכה להיות פונקצייה מדוייקת, זה יכול לשמש אותך בינתיים (סתם דוגמא של פורמט, אם תכתוב AAA = DateDiff("YYYY", "20/5/2007", Date) תקבל את הפרש השנים בלי לחלק)
 

SilverFog

New member
../images/Emo13.gif תודה, אבל ...

על DATEDIFF גם אני חשבתי פשוט חשבתי שיש משהו יותר מדוייק שאפשר לנסות
לעוד מישהו יש רעיונות?
 

ארזירון

New member
זה שימוש בכמה פונקציות....

קודם כל מחשבים את השנים, אחרי זה את החודשים, ובסוף את הימים... מחשבים את השנים - ומורידים אחד אם צריך כי התאריך עצמו עוד לא הגיע השנה (למשל תאריך לידה בדצמבר והיום רק ינואר....) מחשבים את החודשים - רק של השנה הנוכחית, ושוב מורידים אחד אם צריך מחשבים את הימים - רק בחודש הנוכחי....
 

טרמפיסט

New member
כמו שענו לך - DateDiff

לחישוב השנים: (DateDiff("yyyy", DateOfBirth, Date לחישוב החודשים: (DateDiff("m", DateOfBirth, Date לחישוב הימים: (DateDiff("d", DateOfBirth, Date כש-DateOfBirth מוגדר כתאריך הלידה של אותו בחור. לדוגמה:
Dim DateOfBirth As Date DateOfBirth = #22/11/1982#​
 

SilverFog

New member
הבעייה פה היא ש...

כשאני מחשב את מס החודשים והימים הפונקצינה מחזירה לי את סך הימים/חודשים מהתאריך ועד היום.. ואני רוצה שהיא תחזיר לי למשל - 25 שנים 4 חודשים 21 יום..
 

טרמפיסט

New member
עשיתי משהו מאוד מאוד דומה

כתבתי לחברה שלי תוכנה דומה הסופרת את הימים, השעות, דקות והשניות עד לחתונה שלנו. אוכל לשלוח לך אותה; היא כתובה בצורה ברורה ומתועדת כך שתוכל להבין הכל. אם תהייה מעוניין, שלח לי את כתובת המייל שלך במסרים אישיים.
 
למעלה