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

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

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

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

מתוזמן נעוץ נעול הועבר תוכנה
16 פוסטים 2 כותבים 397 צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • 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
                              • דף הבית
                              • קטגוריות
                              • פוסטים אחרונים
                              • משתמשים
                              • חיפוש
                              • חוקי הפורום