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

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

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

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

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

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

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

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

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

    OdedDvirO מנותק
    OdedDvirO מנותק
    OdedDvir
    כתב ב נערך לאחרונה על ידי
    #2

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

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

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

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

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

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

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

          DoCmd.OpenReport "yy", acViewPreview
      

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

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

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

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

      OdedDvirO תגובה 1 תגובה אחרונה
      0
      • אורייא אוריי

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

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

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

            DoCmd.OpenReport "yy", acViewPreview
        

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

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

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

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

        OdedDvirO מנותק
        OdedDvirO מנותק
        OdedDvir
        כתב ב נערך לאחרונה על ידי
        #4

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

        אורייא תגובה 1 תגובה אחרונה
        2
        • OdedDvirO OdedDvir

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

          אורייא מנותק
          אורייא מנותק
          אוריי
          כתב ב נערך לאחרונה על ידי אוריי
          #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
          • אורייא אוריי

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

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

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

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

            עריכה:

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

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

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

            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
            • OdedDvirO OdedDvir

              @אוריי אמר במחפש קוד 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
              
              אורייא מנותק
              אורייא מנותק
              אוריי
              כתב ב נערך לאחרונה על ידי
              #7

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

              OdedDvirO תגובה 1 תגובה אחרונה
              0
              • אורייא אוריי

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

                OdedDvirO מנותק
                OdedDvirO מנותק
                OdedDvir
                כתב ב נערך לאחרונה על ידי
                #8

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

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

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

                אורייא תגובה 1 תגובה אחרונה
                2
                • OdedDvirO OdedDvir

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

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

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

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

                    @אוריי אמר במחפש קוד 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
                    
                    אורייא מנותק
                    אורייא מנותק
                    אוריי
                    כתב ב נערך לאחרונה על ידי
                    #10

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

                    DoCmd.OpenReport "yy", acViewPreview
                    

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

                    OdedDvirO תגובה 1 תגובה אחרונה
                    0
                    • אורייא אוריי

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

                      DoCmd.OpenReport "yy", acViewPreview
                      

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

                      OdedDvirO מנותק
                      OdedDvirO מנותק
                      OdedDvir
                      כתב ב נערך לאחרונה על ידי OdedDvir
                      #11

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

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

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

                      DoCmd.OpenReport "yy", acViewNormal
                      
                      אורייא תגובה 1 תגובה אחרונה
                      3
                      • OdedDvirO OdedDvir

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

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

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

                        DoCmd.OpenReport "yy", acViewNormal
                        
                        אורייא מנותק
                        אורייא מנותק
                        אוריי
                        כתב ב נערך לאחרונה על ידי
                        #12

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

                        OdedDvirO תגובה 1 תגובה אחרונה
                        0
                        • אורייא אוריי

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

                          OdedDvirO מנותק
                          OdedDvirO מנותק
                          OdedDvir
                          כתב ב נערך לאחרונה על ידי
                          #13

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

                          אורייא OdedDvirO 2 תגובות תגובה אחרונה
                          2
                          • OdedDvirO OdedDvir

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

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

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

                              OdedDvirO מנותק
                              OdedDvirO מנותק
                              OdedDvir
                              כתב ב נערך לאחרונה על ידי OdedDvir
                              #15

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

                              DoCmd.OpenReport "yy", acViewNormal
                              

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

                              אורייא תגובה 1 תגובה אחרונה
                              3
                              • OdedDvirO OdedDvir

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

                                DoCmd.OpenReport "yy", acViewNormal
                                

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

                                אורייא מנותק
                                אורייא מנותק
                                אוריי
                                כתב ב נערך לאחרונה על ידי
                                #16

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

                                תגובה 1 תגובה אחרונה
                                0
                                תגובה
                                • תגובה כנושא
                                התחברו כדי לפרסם תגובה
                                • מהישן לחדש
                                • מהחדש לישן
                                • הכי הרבה הצבעות


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

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

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