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

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

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

מחפש קוד vba להדפיס דוחות אקסס במהירות לפי רשימת אקסל או אקסס

מתוזמן נעוץ נעול הועבר תוכנה
16 פוסטים 2 כותבים 397 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • אורייא מנותק
    אורייא מנותק
    אוריי
    כתב ב נערך לאחרונה על ידי אוריי
    #1

    יש לי רשימת אקסס ואני רוצה להדפיס רק את מה שבשדה X רשום את המספרים שיש בטבלת אקסל בתוך הטבלה ושכל דו''ח יהיה לו מס' יחודי
    לדוגמא יש לי אפשרות כזו
    0f27c23e-5045-47eb-a983-66b6d42534fa-image.png
    ויש לי לחצן הדפסה כזה שמדפיס את הרשומות המוצגות
    עכשיו יש לי רשימת אקסל שיש לי שם את כל המספרים שאני רוצה להדפיס כזו
    f197f797-f185-4ed5-a19f-a0b67c53f2a0-image.png
    (לא מחייב דווקא רשימת אקסל אני יכול ליצר גם טבלה באקסס אם יהיה יותר קל)
    עכשיו אני רוצה קוד שבעת שאני ילחץ עליו הוא ידפיס לי את כל הדוחות (רק אלו שמצוינים ברשימה)

    חשבתי על רעיון של קוד כזה

    1. שירשום לי בשדה הנ''ל את המס' הראשון
    2. ידפיס בצורה של הדפסה מהירה
    3. ימחק את השדה הנ''ל ירשום את השני בצורה של לולאה (הבעיה שאני לא יודע איך לעשות לולאה בקוד)
    4. ידפיס וכו'

    השאלה היא האם זה הדרך הנכונה וא''כ איך עושים את זה?

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

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

      1. צור פונקציה A שמקבלת כפרמטר את מספר המדף ומציגה \ מדפיסה את הדוח.
        תוכל להעזר בשאילתא שכבר רשמת ששולפת את המספר מהטופס.
      2. צור פונקציה B שרצה בלולאה על הטבלה וקוראת לפונקציה A עם הפרמטר.
      אורייא תגובה 1 תגובה אחרונה
      3
      • אורייא מנותק
        אורייא מנותק
        אוריי
        השיב לOdedDvir ב נערך לאחרונה על ידי אוריי
        #3

        @OdedDvir אמר במחפש קוד vba להדפיס דוחות אקסס במהירות לפי רשימת אקסל או אקסס:

        1. צור פונקציה A שמקבלת כפרמטר את מספר המדף ומציגה \ מדפיסה את הדוח.
          תוכל להעזר בשאילתא שכבר רשמת ששולפת את המספר מהטופס.

        יש לי קוד שמציג את הדו''ח בתצוגה לפני הדפסה כזה

            DoCmd.OpenReport "yy", acViewPreview
        

        @OdedDvir אמר במחפש קוד vba להדפיס דוחות אקסס במהירות לפי רשימת אקסל או אקסס:

        1. צור פונקציה B שרצה בלולאה על הטבלה וקוראת לפונקציה A עם הפרמטר.

        @אוריי אמר במחפש קוד vba להדפיס דוחות אקסס במהירות לפי רשימת אקסל או אקסס:

        (הבעיה שאני לא יודע איך לעשות לולאה בקוד)

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

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

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

            @OdedDvir
            אני לא יודע איך עושים את זה
            אבל אני חשבתי על פתרון אחר יותר קל לעניות דעתי בצורה כזו

            1. פקודה שתרשום את המס' מדף בטופס.
            2. פקודה שתדפיס את הדו''ח בצורה מהירה ללא תצוגה
            3. פקודה שתמחוק את הטקסט בטופס.

            ועל כל זה לתת לולאה שתרוץ ותחליף את המס' בצורה סדירה עד הסוף.

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

            עריכה:

            פונקציה של לולאה עשיתי (מקווה שעשיתי טוב)

            Public Function lol() As String
            Dim i, num
            For i = 1 To 133
            num = num + i
            Next
            

            מה שחסר לי זה הנוסחה שתעשה כמין vlookup על הטבלה..

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

              @אוריי אמר במחפש קוד vba להדפיס דוחות אקסס במהירות לפי רשימת אקסל או אקסס:

              אבל אני חשבתי על פתרון אחר יותר קל לעניות דעתי בצורה כזו

              מצוין.
              אתה צריך לעשות לולאה על טבלה. אני אדגים כאן באופן כללי:
              נניח שיש לי טבלה MyTable ואני רוצה לעבור על כל השורות ולהדפיס את השדה MyNumber:

              Dim rs as DAO.Recordset
              Set rs = CurrentDb.OpenRecordset("MyTable", dbReadOnly, dbSnapshot)
              rs.MoveFirst
              While Not rs.EOF
                  Debug.Print rs!MyNumber 'הדפס את הערך בשדה
                  rs.MoveNext
              Wend
              rs.Close
              
              אורייא 2 תגובות תגובה אחרונה
              3
              • אורייא מנותק
                אורייא מנותק
                אוריי
                השיב לOdedDvir ב נערך לאחרונה על ידי
                #7

                @OdedDvir
                סליחה שאני מטריח אותך.
                האם יש סיכוי שאתה קצת מסביר לי על הקוד הזה
                ואיך קראת ללולאה (איזה שם)?

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

                  @אוריי אמר במחפש קוד vba להדפיס דוחות אקסס במהירות לפי רשימת אקסל או אקסס:

                  האם יש סיכוי שאתה קצת מסביר לי על הקוד הזה

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

                  אורייא תגובה 1 תגובה אחרונה
                  2
                  • אורייא מנותק
                    אורייא מנותק
                    אוריי
                    השיב לOdedDvir ב נערך לאחרונה על ידי
                    #9
                    פוסט זה נמחק!
                    תגובה 1 תגובה אחרונה
                    0
                    • אורייא מנותק
                      אורייא מנותק
                      אוריי
                      השיב לOdedDvir ב נערך לאחרונה על ידי
                      #10

                      @OdedDvir
                      תודה רבה הצלחתי להפעיל אותו הוא עובד מצויין
                      רק נשאר לי בעיה קטנה בקוד הזה

                      DoCmd.OpenReport "yy", acViewPreview
                      

                      הקוד הזה פותח את הדוח בתצוגה לפני הדפסה
                      אבל אני רוצה שהוא ידפיס לי בלי תצוגה מקדימה
                      תודה מראש..

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

                        @אוריי אמר במחפש קוד vba להדפיס דוחות אקסס במהירות לפי רשימת אקסל או אקסס:

                        אבל אני רוצה שהוא ידפיס לי בלי תצוגה מקדימה

                        עריכה:
                        תשנה ל:

                        DoCmd.OpenReport "yy", acViewNormal
                        
                        אורייא תגובה 1 תגובה אחרונה
                        3
                        • אורייא מנותק
                          אורייא מנותק
                          אוריי
                          השיב לOdedDvir ב נערך לאחרונה על ידי
                          #12

                          @OdedDvir
                          הוא מחזיר שגיאה כזו
                          b84197d9-2ea8-443c-85ac-941cc1279e86-image.png

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

                            @אוריי תבדוק במאפייני הדוח האם מסומן "אפשר תצוגת דוח"
                            5f3daf5f-f023-4086-a8b1-d3ee54f761e8-תמונה.png

                            אורייא OdedDvirO 2 תגובות תגובה אחרונה
                            2
                            • אורייא מנותק
                              אורייא מנותק
                              אוריי
                              השיב לOdedDvir ב נערך לאחרונה על ידי
                              #14
                              פוסט זה נמחק!
                              תגובה 1 תגובה אחרונה
                              0
                              • OdedDvirO מנותק
                                OdedDvirO מנותק
                                OdedDvir
                                השיב לOdedDvir ב נערך לאחרונה על ידי OdedDvir
                                #15

                                @OdedDvir סליחה, טעיתי, תשנה ל:

                                DoCmd.OpenReport "yy", acViewNormal
                                

                                שיניתי גם למעלה במקור

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

                                  @OdedDvir
                                  אני לא יודע למה אבל פתאום הוא התחיל לעבוד גם עם הקוד הקודם

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

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

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

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