תחומים
    • הרשמה
    • התחברות
    • חיפוש
    • קטגוריות
    • פוסטים אחרונים
    • משתמשים
    • חיפוש
    חוקי הפורום

    אקסס- עיגול תאריך - עזרה

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

      שלום רב
      אשמח לעזרה כיצד "מעגלים" תאריך מסויים בחודש לתאריך עגול של סוף חודש
      זה נוגע לעניין חישוב תאריך תשלום לספק כאשר הסכם התשלום הוא: שוטף, שוטף +30, שותף + 60.
      "שוטף", היינו היום הראשון בחודש הקרוב,
      לדוגמא:
      אם תאריך חשבונית היא 15/4/21 והסכם התשלום הוא "שוטף", תאריך התשלום הוא: 1/5/21
      אשמח לעזרתכם (ללא קוד)
      אני ניסיתי להשתמש בפונקציה, כדלהלן:
      תאריך תשלום: (m",1",[תאריך])-Day([תאריך]) DateAdd
      אך התוצאות אינם מעגלות את התאאריך

      ל OdedDvir 2 תגובות תגובה אחרונה תגובה ציטוט 0
      • ל
        לומד ומתלמד @לומד ומתלמד נערך לאחרונה על ידי

        @לומד-ומתלמד
        אחרי חיפוש ארוך מצאתי, אמנם איני מבין את המשמעות
        DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)
        אולי מישהו ידע להסביר

        תגובה 1 תגובה אחרונה תגובה ציטוט 0
        • OdedDvir
          OdedDvir @לומד ומתלמד נערך לאחרונה על ידי OdedDvir

          @לומד-ומתלמד הרעיון הוא לפרק את התאריך ליום, חודש, ושנה.
          אחר כך לקבוע את היום ל-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 
          
          
          A תגובה 1 תגובה אחרונה תגובה ציטוט 4
          • A
            avi rz @OdedDvir נערך לאחרונה על ידי

            @odeddvir אמר באקסס- עיגול תאריך - עזרה:

            פלט לדוגמא:
            ?NextPaymentDay(#15/4/2021#) 01/05/2021

            אם כבר תביא דוגמא שתמחיש את מה שעשית (בדגש על הדוגמה ש @לומד-ומתלמד מצא - [למי שלא הבין: יש חסרון בדוגמא ההיא, כשהחשבונית היא בחודש ה12 - לפי הדוגמא ההיא התאריך שתקבל זה "01/01/2020"]).

            ?NextPaymentDay(#15/12/2021#)
            01/01/2022
            
            תגובה 1 תגובה אחרונה תגובה ציטוט 1
            • 1 / 1
            • פוסט ראשון
              פוסט אחרון
            בא תתחבר לדף היומי!