דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תוכנה
  3. עזרה בחישוב תשלומים בשאילתה באקסס

עזרה בחישוב תשלומים בשאילתה באקסס

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

    @avi-rz
    כדברי @OdedDvir אין צורך בשאילתת איחוד,
    הוא הרי רוצה להציג את כל הלקוחות + התשלומים
    שלצורך כך, הוא יכול להגדיר left join מהלקוחות לשני טבלאות התשלומים בשאילתה אחת.

    השאלה מה יגיב יותר מהיר,
    2 left joinים או שאילתת איחוד.

    A תגובה 1 תגובה אחרונה
    2
    • A מנותק
      A מנותק
      avi rz
      השיב למלא ב נערך לאחרונה על ידי
      #19

      @מלא אמר בעזרה בחישוב תשלומים בשאילתה באקסס:

      @avi-rz
      כדברי @OdedDvir אין צורך בשאילתת איחוד,
      הוא הרי רוצה להציג את כל הלקוחות + התשלומים
      שלצורך כך, הוא יכול להגדיר left join מהלקוחות לשני טבלאות התשלומים בשאילתה אחת.

      השאלה מה יגיב יותר מהיר,
      2 left joinים או שאילתת איחוד.

      צודק!
      בעיקר התמקדתי ב

      @odeddvir אמר בעזרה בחישוב תשלומים בשאילתה באקסס:

      שאילתת איחוד לא תפתור את הבעיה,

      תגובה 1 תגובה אחרונה
      0
      • OdedDvirO מנותק
        OdedDvirO מנותק
        OdedDvir
        השיב לavi rz ב נערך לאחרונה על ידי OdedDvir
        #20

        @avi-rz אמר בעזרה בחישוב תשלומים בשאילתה באקסס:

        אפשר להוסיף לשאילתת איחוד, גם את הלקוחות, (כמובן להוסיף עוד עמודות ריקות במקום העמודות של התשלומים ובתשלומים להוסיף במקום הלקוח, וכו'.)

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

        תגובה 1 תגובה אחרונה
        3
        • איש ימיניא מנותק
          איש ימיניא מנותק
          איש ימיני
          השיב לOdedDvir ב נערך לאחרונה על ידי
          #21

          @odeddvir אמר בעזרה בחישוב תשלומים בשאילתה באקסס:

          @איש-ימיני אמר בעזרה בחישוב תשלומים בשאילתה באקסס:

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

          זה SQL בסיסי:

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

          בעורך השאילתא של אקסס תקליק על הקו המחבר בין שתי הטבלאות. יפתח חלון שבו אתה בוחר את סוג הצירוף. אם בחרת נכון, הקו המחבר הנ"ל יהפוך לחץ מהטבלה שמכילה את כל הרשומות (=לקוחות) לטבלה שבה נמצאים רק חלק מהלקוחות (=תשלומים)

          אי אפשר לשנות נתונים בשאילתה כזאת?
          אני מדבר על עמודות רגילות ללא חישוב.

          OdedDvirO תגובה 1 תגובה אחרונה
          0
          • OdedDvirO מנותק
            OdedDvirO מנותק
            OdedDvir
            השיב לאיש ימיני ב נערך לאחרונה על ידי OdedDvir
            #22

            @איש-ימיני שאילתא עם צירוף חד צדדי יכולה להיות בת-עריכה, אבל זה תלוי בכמה גורמים.
            באופן כללי היא צריכה להיות פשוטה ביותר, דהיינו מבוססת רק על טבלאות או על שאילתות פשוטות. שים לב שיש שדה מפתח בטבלאות.
            לא עיינתי בקבצים שלך לעיל, אבל אם תפרט את מבנה הטבלאות והשאילתא אנסה לעזור כאן.
            להרחבה ראה:
            https://support.microsoft.com/en-us/office/dealing-with-read-only-queries-bb17ee48-8d52-49db-8b8c-71225aa12ceb
            וכן:
            http://allenbrowne.com/ser-61.html

            איש ימיניא תגובה 1 תגובה אחרונה
            1
            • איש ימיניא מנותק
              איש ימיניא מנותק
              איש ימיני
              השיב לOdedDvir ב נערך לאחרונה על ידי
              #23

              @odeddvir
              מצורף קובץ דוגמה.
              אני רוצה שיוכלו לשנות נתונים בשאילתה "סיכום כללי".
              דוגמא 2.accdb

              OdedDvirO תגובה 1 תגובה אחרונה
              0
              • OdedDvirO מנותק
                OdedDvirO מנותק
                OdedDvir
                השיב לאיש ימיני ב נערך לאחרונה על ידי OdedDvir
                #24

                @איש-ימיני כיון שהשאילתא הנ"ל מבוססת בחלקה על שאילתת קיבוץ (=סיכום תשלומים 1 או 2) התוצאה היא שאילתא לקריאה בלבד. לצערי אין דרך לבטל זאת באקסס.
                הדרך להתמודד עם זה הוא על ידי טופס מפוצל, בו טופס האב מכיל את הטבלה עם השדות לעריכה (=לקוחות), ואילו הטופס-משנה מכיל את שאילתות הסיכום, ולקשר ביניהם על ידי שדה המפתח (=קוד לקוח). כך תהנה משני העולמות.

                איש ימיניא תגובה 1 תגובה אחרונה
                1
                • איש ימיניא מנותק
                  איש ימיניא מנותק
                  איש ימיני
                  השיב לOdedDvir ב נערך לאחרונה על ידי
                  #25

                  @odeddvir
                  זה יכול להיות בגליון נתונים אחד בטופס?

                  מלאמ תגובה 1 תגובה אחרונה
                  0
                  • מלאמ מנותק
                    מלאמ מנותק
                    מלא
                    השיב לאיש ימיני ב נערך לאחרונה על ידי מלא
                    #26

                    @איש-ימיני אמר בעזרה בחישוב תשלומים בשאילתה באקסס:

                    זה יכול להיות בגליון נתונים אחד בטופס?

                    לא לעריכה.

                    אם תרצה תוכל לעשות שאילתה כזאת

                    SELECT לקוחות.*, DSum("סכום","[תשלומים 1]","[קוד_לקוח]= " & [קוד_לקוח]) AS סיכום1, DSum("סכום","[תשלומים 2]","[קוד_לקוח]= " & [קוד_לקוח]) AS סיכום2, *
                    FROM לקוחות;
                    

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

                    נ.ב. אם יהיו לך הרבה נתונים זה לא מומלץ כי זה מאוד מכביד על המערכת.

                    איש ימיניא תגובה 1 תגובה אחרונה
                    1
                    • איש ימיניא מנותק
                      איש ימיניא מנותק
                      איש ימיני
                      השיב למלא ב נערך לאחרונה על ידי איש ימיני
                      #27

                      @מלא אמר בעזרה בחישוב תשלומים בשאילתה באקסס:

                      @איש-ימיני אמר בעזרה בחישוב תשלומים בשאילתה באקסס:

                      זה יכול להיות בגליון נתונים אחד בטופס?

                      לא לעריכה.

                      אם תרצה תוכל לעשות שאילתה כזאת

                      SELECT לקוחות.*, DSum("סכום","[תשלומים 1]","[קוד_לקוח]= " & [קוד_לקוח]) AS סיכום1, DSum("סכום","[תשלומים 2]","[קוד_לקוח]= " & [קוד_לקוח]) AS סיכום2, *
                      FROM לקוחות;
                      

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

                      נ.ב. אם יהיו לך הרבה נתונים זה לא מומלץ כי זה מאוד מכביד על המערכת.

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

                      עריכה:
                      הסתדרתי.
                      כתבתי כך:

                       DSum("[סכום]*0+1","[תשלומים 2]","[קוד_לקוח]= " & [קוד_לקוח]) AS סיכום3,
                      
                      מלאמ תגובה 1 תגובה אחרונה
                      0
                      • מלאמ מנותק
                        מלאמ מנותק
                        מלא
                        השיב לאיש ימיני ב נערך לאחרונה על ידי
                        #28

                        @איש-ימיני אמר בעזרה בחישוב תשלומים בשאילתה באקסס:

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

                        במקום DSum תכתוב DCount

                        תגובה 1 תגובה אחרונה
                        1

                        • 1
                        • 2
                        בא תתחבר לדף היומי!
                        • התחברות

                        • אין לך חשבון עדיין? הרשמה

                        • התחברו או הירשמו כדי לחפש.
                        • פוסט ראשון
                          פוסט אחרון
                        0
                        • דף הבית
                        • קטגוריות
                        • פוסטים אחרונים
                        • משתמשים
                        • חיפוש
                        • חוקי הפורום