access 2000 - בקשת עזרה

ayush

New member
access 2000 - בקשת עזרה

היי ! הכנתי טבלה ובה שדה של תאריך לידה אני צריכה שדה נוסף שיראה לי את הגיל (אוטומטית). האם ניתן לעשות זאת ואיך ??? האם ניתן לחשב את השדה בתוך הטבלה עצמה או שצריך שאילתה בשביל זה ? שאלה נוספת: איזה פונקציה יכולה לעזור לי ולחשב את מספר הימים מתאריך עד תאריך ??? לתשובה מהירה אודה !
 

yaron881

New member
את צריכה להשתמש בפונקציה הבאה:

DateDiff("yyyy",[birthdate],Now())​
הפונקציה תחזיר לך את הגיל של מי שנולד ב-birthdate
 
ולחישוב הימים את משתמשת ב....

אותה פונקציה רק בצורה שונה:
DateDiff("dd",[FirstDate],[SecondDate]())​
 

tomerp

New member
האם ניתן לעשות את זה בטופס? כלומר

להציג אוטומטית את הגיל ע"פ שדה תאריך לידה כאשר מקלידים את תאריך הלידה בטופס?
 

yaron881

New member
כן. אם יש בטופס שדה בשם

BirthDate ושדה בשם Age ניתן להכניס באירוע של "לאחר עידכון" בשדה BirthDate את המשפט:
me.Age=DateDiff("YYYY",me.BirthDate,now())​
 

ariel10

New member
גיל ללא שאילתה

מה שאמרת נכון אבל לא מדויק כי אם לא נשתמש בשאילתה בטופס הגיל שיכנס לשדה יהיה מתאים לאותו רגע אבל שנה אחרי זה הגיל ישאר אותו דבר
 
ולכן האירוע צריך להיות בנוכחי

כלומר On Current ואז בהחלפת רשומה יתבצע חישוב הגיל מחדש. וזה המקום להזכיר, שלא מקובל להכניס שדות מחושבים לטבלאות
 

yaron881

New member
אירוע On Current ייתרחש בכל פעם

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

אם תעשה את החישוב רק לאחר הזנת תאריך לידה, כי אז יווצרו שני מצבים: 1) ללא שדה גיל בבסיס הנתונים: ואז בפעם הבאה שיכנסו לרשומה שדה הגיל ישאר ריק. 2) שדה גיל הינו חלק מבסיס הנתונים: שדה זה לא יתעדכן יותר אף פעם. לכן, טענתי היא כי יש לחשב את הגיל On Current בנוסף לאירוע של לאחר עדכון של שדה תאריך הלידה. מצב זה לא מצריך שדה נוסף בבסיס הנתונים מחד. ומאידך לעולם (כל עוד מופיע תאריך לידה) יופיע גם הגיל.
 
למעלה