אקסס- עיגול תאריך - עזרה
-
שלום רב
אשמח לעזרה כיצד "מעגלים" תאריך מסויים בחודש לתאריך עגול של סוף חודש
זה נוגע לעניין חישוב תאריך תשלום לספק כאשר הסכם התשלום הוא: שוטף, שוטף +30, שותף + 60.
"שוטף", היינו היום הראשון בחודש הקרוב,
לדוגמא:
אם תאריך חשבונית היא 15/4/21 והסכם התשלום הוא "שוטף", תאריך התשלום הוא: 1/5/21
אשמח לעזרתכם (ללא קוד)
אני ניסיתי להשתמש בפונקציה, כדלהלן:
תאריך תשלום: (m",1",[תאריך])-Day([תאריך]) DateAdd
אך התוצאות אינם מעגלות את התאאריך -
שלום רב
אשמח לעזרה כיצד "מעגלים" תאריך מסויים בחודש לתאריך עגול של סוף חודש
זה נוגע לעניין חישוב תאריך תשלום לספק כאשר הסכם התשלום הוא: שוטף, שוטף +30, שותף + 60.
"שוטף", היינו היום הראשון בחודש הקרוב,
לדוגמא:
אם תאריך חשבונית היא 15/4/21 והסכם התשלום הוא "שוטף", תאריך התשלום הוא: 1/5/21
אשמח לעזרתכם (ללא קוד)
אני ניסיתי להשתמש בפונקציה, כדלהלן:
תאריך תשלום: (m",1",[תאריך])-Day([תאריך]) DateAdd
אך התוצאות אינם מעגלות את התאאריך@לומד-ומתלמד
אחרי חיפוש ארוך מצאתי, אמנם איני מבין את המשמעות
DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)
אולי מישהו ידע להסביר -
שלום רב
אשמח לעזרה כיצד "מעגלים" תאריך מסויים בחודש לתאריך עגול של סוף חודש
זה נוגע לעניין חישוב תאריך תשלום לספק כאשר הסכם התשלום הוא: שוטף, שוטף +30, שותף + 60.
"שוטף", היינו היום הראשון בחודש הקרוב,
לדוגמא:
אם תאריך חשבונית היא 15/4/21 והסכם התשלום הוא "שוטף", תאריך התשלום הוא: 1/5/21
אשמח לעזרתכם (ללא קוד)
אני ניסיתי להשתמש בפונקציה, כדלהלן:
תאריך תשלום: (m",1",[תאריך])-Day([תאריך]) DateAdd
אך התוצאות אינם מעגלות את התאאריך@לומד-ומתלמד הרעיון הוא לפרק את התאריך ליום, חודש, ושנה.
אחר כך לקבוע את היום ל-1, את החודש להגדיל באחד, ולהרכיב מחדש את התאריך על ידי הפונקציה DateSerial.
הנקודה החשובה (ושחסרה בקוד שהבאת) היא כאשר החודש הבא הוא בשנה הבאה, שאז יש לקבוע את החודש ל-1 ולהגדיל במקומו את השנה באחד.הנה פונקציה שעושה את הכל:
Public Function NextPaymentDay(inDate As Date) As Date Dim outputYear As Integer Dim outputMonth As Integer outputYear = Year(inDate) outputMonth = Month(inDate) + 1 ' If it is next year, increase year and set month to 1 If outputMonth = 13 Then outputMonth = 1 outputYear = outputYear + 1 End If NextPaymentDay = DateSerial(outputYear, outputMonth, 1) End Functionפלט לדוגמא:
?NextPaymentDay(#15/4/2021#) 01/05/2021 -
@לומד-ומתלמד הרעיון הוא לפרק את התאריך ליום, חודש, ושנה.
אחר כך לקבוע את היום ל-1, את החודש להגדיל באחד, ולהרכיב מחדש את התאריך על ידי הפונקציה DateSerial.
הנקודה החשובה (ושחסרה בקוד שהבאת) היא כאשר החודש הבא הוא בשנה הבאה, שאז יש לקבוע את החודש ל-1 ולהגדיל במקומו את השנה באחד.הנה פונקציה שעושה את הכל:
Public Function NextPaymentDay(inDate As Date) As Date Dim outputYear As Integer Dim outputMonth As Integer outputYear = Year(inDate) outputMonth = Month(inDate) + 1 ' If it is next year, increase year and set month to 1 If outputMonth = 13 Then outputMonth = 1 outputYear = outputYear + 1 End If NextPaymentDay = DateSerial(outputYear, outputMonth, 1) End Functionפלט לדוגמא:
?NextPaymentDay(#15/4/2021#) 01/05/2021@odeddvir אמר באקסס- עיגול תאריך - עזרה:
פלט לדוגמא:
?NextPaymentDay(#15/4/2021#) 01/05/2021אם כבר תביא דוגמא שתמחיש את מה שעשית (בדגש על הדוגמה ש @לומד-ומתלמד מצא - [למי שלא הבין: יש חסרון בדוגמא ההיא, כשהחשבונית היא בחודש ה12 - לפי הדוגמא ההיא התאריך שתקבל זה "01/01/2020"]).
?NextPaymentDay(#15/12/2021#) 01/01/2022
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות