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

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

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

בניית טופס/דו"ח

מתוזמן נעוץ נעול הועבר תכנות
74 פוסטים 7 כותבים 2.3k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ש מנותק
    ש מנותק
    שוהם307
    השיב לOdedDvir ב נערך לאחרונה על ידי
    #43

    @odeddvir אמר בבניית טופס/דו"ח:

    תעתיק את כל הפקדים מהטופס לתוך הדו"ח (העתק הדבק).

    איך אני מעתיק אותם? בגדול יש לי רק שדות למילוי.

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

      @שוהם307 גם שדות למילוי הם פקדים.
      תפתח את הטופס בתצוגת עיצוב, בחר הכל Ctrl+A, העתק Ctrl+C.
      פתח דוח חדש ריק, והדבק את הכל Ctrl+V.
      אל תשכח לבסס את הדוח על הטבלה של הנתונים (כמו שעשית בטופס).

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

        @odeddvir אמר בבניית טופס/דו"ח:

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

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

        1. בעיקרון הדו"ח מקבל נתונים מטבלה, ולכן בעיקרון המשתמש אמור למלאות את הנתונים שלו בטבלה ואז לייצר דו"ח. ומה שקורה שאני רק הכנתי טבלה כדי לקבל שדות (שדה אחת "שם העובד" ושדה מתחת למילוי), והנתונים מוזנים בתוך טופס, אז אם כן אני יכול בעצם לשמור את הטופס עצמו כ PDF, אז למה לי לייצר מזה דו"ח ואז לשלוח להדפסה?
        2. אני מאמין שזה חלק מהתהליך, איך יש קשר בין הדו"ח שאני עיצבתי, לבין הנתונים שמילאתי בטופס.
          תודה רבה רבה
        OdedDvirO תגובה 1 תגובה אחרונה
        0
        • OdedDvirO מנותק
          OdedDvirO מנותק
          OdedDvir
          השיב לשוהם307 ב נערך לאחרונה על ידי
          #46

          @שוהם307 על רגל אחת:

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

          • הרעיון העיקרי של דוח הוא רק להציג את הנתונים בצורה נעימה ומסודרת. אתה יוצר דוח כי את הדוח אפשר בקלות להפוך ל-PDF (את הטופס - לא כל כך)

          למעשה, כבר כתבתי את הכל בקיצור למעלה:

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

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

            @odeddvir אמר בבניית טופס/דו"ח:

            כדי שהנתונים שאכניס\אשנה בטופס ישפיעו על הנתונים בטבלה עצמה

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

            ומה לגבי זה?
            @שוהם307 אמר בבניית טופס/דו"ח:

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

            תודה רבה רבה אלף פעמים על הסבלנות והנדיבות.

            @odeddvir אמר בבניית טופס/דו"ח:

            הרעיון העיקרי של דוח הוא רק להציג את הנתונים בצורה נעימה ומסודרת

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

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

              @שוהם307 אמר בבניית טופס/דו"ח:

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

              דווקא כן, זה כל הענין של השימוש בטופס.

              ומה לגבי זה?

              כתבתי למעלה איך לבצע זאת.

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

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

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

                @odeddvir אמר בבניית טופס/דו"ח:

                כתבתי למעלה איך לבצע זאת.

                להעתיק ולהדביק עשיתי, אבל מה הלאה?

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

                  אמרתי בבניית טופס/דו"ח:

                  זה נעשה על ידי הגדרת המאפיין "מקור נתונים" בטופס להיות: שֵם הטבלה שבה נמצאים הנתונים.

                  תגובה 1 תגובה אחרונה
                  2
                  • ש מנותק
                    ש מנותק
                    שוהם307
                    כתב ב נערך לאחרונה על ידי
                    #51

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

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

                      @odeddvir אמר בבניית טופס/דו"ח:

                      להלן השלבים:

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

                      אני מבין שעשית את הכל עד כאן.
                      בוא נבין מה עשית: אם ההקלדות בטופס נקלטות בטבלה, זה אומר שהטבלה היא מקור הנתונים של הטופס.
                      שים לב שתוכל להקליד רשומות רבות בטופס, ואחר כך להציג את כל הרשומות שבטבלה, שורה אחר שורה, ולעבור ביניהם על ידי לחצני הניווט שבתחתית הטופס:
                      5be5399c-9e32-41fc-ba6a-4de79144cd79-תמונה.png
                      באופן דומה, גם בדוח:
                      אם הטבלה היא מקור הנתונים של הדוח, הדוח יציג את הערכים שבטבלה, שורה אחר שורה. תוכל להציג את הדוח בתצוגה לפני הדפסה, ואז לדפדף בין הרשומות על ידי לחצני הניווט שבתחתית הדוח:
                      766fcc54-e06c-4653-af1d-ba8b36a2beb0-תמונה.png

                      תאשר אם הכל עובד כנ"ל, ואז נעבור לשלבים הבאים:

                      1. הוסף לחצן בטופס כך שיפתח את הדוח ברשומה הנכונה, וייצא את הדוח ל-PDF (על ידי קוד VBA)
                        תוכל להוסיף בסוף הקוד שליחה של ה-PDF שנוצר לכתובת המייל
                      ש תגובה 1 תגובה אחרונה
                      1
                      • ש מנותק
                        ש מנותק
                        שוהם307
                        השיב לOdedDvir ב נערך לאחרונה על ידי שוהם307
                        #53

                        @odeddvir עשיתי את שלושת השלבים הראשונים, מקווה...
                        ולמעשה יש לי כרגע:

                        1. טבלה עם נתונים (כלומר כותרות ושדות למילוי)
                        2. טופס שמבוססת על הטבלה.
                        3. דו"ח שמבוסס על הטבלה.

                        ואם כן נראה לי שאפשר להתקדם לשלב של הקוד.
                        תודה רבה רבה.

                        OdedDvirO תגובה 1 תגובה אחרונה
                        0
                        • ש מנותק
                          ש מנותק
                          שוהם307
                          כתב ב נערך לאחרונה על ידי
                          #54

                          @OdedDvir

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

                            @שוהם307 אמר בבניית טופס/דו"ח:

                            ואם כן נראה לי שאפשר להתקדם לשלב של הקוד.

                            בוא נכין את השטח קודם:

                            1. שנה את שם הדוח ל-rptOutput
                            2. שנה את שם הטבלה של הנתונים ל-FormData
                            3. תוסיף לטבלה FormData שדה בשם "ID" מסוג "מספור אוטומטי".
                            4. צור שאילתה בשם qryOutput שמכילה את הביטוי הבא:
                              SELECT * FROM FormData
                              ותבסס את הדוח עליה, במקום ישירות על הטבלה FormData. כלומר תשנה את מקור הנתונים של הדוח להיות qryOutput.
                            5. תוסיף בטופס פקד לחצן פקודה ותשנה את שמו ל-cmdOutputAsPDF

                            עכשיו נכתוב את הקוד:
                            בארוע לחיצה של הלחצן, תיצור קוד VBA כדלקמן:

                            Private Sub cmdOutputAsPDF_Click()
                               CurrentDb.QueryDefs("qryOutput").SQL= "SELECT * FROM FormData WHERE ID=" & Me.ID
                               DoCmd.OutputTo acOutputReport, "rptOutput", acFormatPDF
                            End Sub
                            ש תגובה 1 תגובה אחרונה
                            2
                            • ש מנותק
                              ש מנותק
                              שוהם307
                              השיב לOdedDvir ב נערך לאחרונה על ידי שוהם307
                              #56

                              @odeddvir החל ממספר 4, אני לא מצליח להבין מה אני אמור לעשות,
                              תוכל להרחיב יותר.
                              איפה להזין את השם של השאילתה, ואיפה להזין את הביטוי הנ"ל?
                              תודה.
                              עריכה: טוב, אז לאחר הרבה ניסוי וטעייה הצלחתי ב"ה לייצא ל PDF ע"י פקד. (לקח לי זמן להבין בכלל איפה להכניס את הביטוי).
                              והנה אני מתקדם בזכותך לשלבים הסופיים. ובכן,

                              1. את השדה ID הייתי מוכרח לשלב בתוך הדו"ח למרות שהוא לא קשור, אז עשיתי אותו לנסתר.
                              2. האפשרות היחידה לכתוב משהו על הפקד זה רק ע"י הוספת תווית?
                              3. האם אני לא יכול לעשות את שם הטבלה למשהו בעברית?
                              4. אני רוצה שכשהעכבר על הפקד שייצא כזה הסבר שמסביר מה הפקד עושה. שייך כזה דבר?

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

                              OdedDvirO תגובה 1 תגובה אחרונה
                              0
                              • ש מנותק
                                ש מנותק
                                שוהם307
                                כתב ב נערך לאחרונה על ידי שוהם307
                                #57

                                @OdedDvir מה אומר? (נמאס לך?...)

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

                                  @שוהם307 אמר בבניית טופס/דו"ח:

                                  את השדה ID הייתי מוכרח לשלב בתוך הדו"ח למרות שהוא לא קשור, אז עשיתי אותו לנסתר.

                                  אתה צודק. יפה שעלית על הבעיה.

                                  נמאס לך?...

                                  אם אתה מבקש לקבל קורס מזורז באקסס, אני מציע לך לעבור על המדריך. אני אענה על רגל אחת:

                                  האפשרות היחידה לכתוב משהו על הפקד זה רק ע"י הוספת תווית?

                                  בעיקרון כן.

                                  האם אני לא יכול לעשות את שם הטבלה למשהו בעברית?

                                  אתה יכול אבל זה לא מומלץ.

                                  לגבי 4, צור שאילתה חדשה, עבור לתצוגת SQL ושם תדביק את השורה שכתבתי לעיל.

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

                                    @OdedDvir יישר כח רב.

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

                                    תודה.

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

                                      @שוהם307 אמר בבניית טופס/דו"ח:

                                      אני עדיין לא מבין למה לא לייצא את הטופס ישירות ל PDF,

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

                                      הרי אני הולך לתת את האקסס הזה לדוגמה לעובד פלוני שימלא את הטופס, ובדיוק את אותו טופס שהוא מילא אני רוצה שהוא ישלח לי בתור PDF,
                                      מה העובד אמור לעשות אחרי שהוא מילא את הטופס?

                                      ללחוץ על הלחצן כמובן.
                                      כרגע זה רק יוצר קובץ במחשב.
                                      אם הגעת לשלב 5 והכל עובד, נתקדם בעז"ה לאיך שולחים את זה במייל אוטומטית.

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

                                        @odeddvir אמר בבניית טופס/דו"ח:

                                        @שוהם307 אמר בבניית טופס/דו"ח:

                                        אני עדיין לא מבין למה לא לייצא את הטופס ישירות ל PDF,

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

                                        הרי אני הולך לתת את האקסס הזה לדוגמה לעובד פלוני שימלא את הטופס, ובדיוק את אותו טופס שהוא מילא אני רוצה שהוא ישלח לי בתור PDF,
                                        מה העובד אמור לעשות אחרי שהוא מילא את הטופס?

                                        ללחוץ על הלחצן כמובן.
                                        כרגע זה רק יוצר קובץ במחשב.
                                        אם הגעת לשלב 5 והכל עובד, נתקדם בעז"ה לאיך שולחים את זה במייל אוטומטית.

                                        ב"ה הגעתי כבר לשלב 5, יש לחצן והוא מייצא את הקובץ ל PDF.
                                        מי היה מאמין...,🤗 🤗 🤗

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

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

                                          לשם כך כנס להגדרות החשבון שלך בגוגל, ותבחר כדלקמן:
                                          32662bad-e067-4ef3-9a80-448bf595f2e7-תמונה.png

                                          ובמסך שנפתח תפעיל את האופציה.

                                          כעת צור מודול חדש באקסס ותדביק את הקוד הבא: (אני לא זוכר את המקור המדוייק, אבל הוא מסתובב ברשת בכל מיני מקומות)

                                          Public Sub SendGmail()
                                             'creating a CDO object
                                             Dim Mail As Object
                                             Set Mail = CreateObject("CDO.Message")
                                          
                                             'Enable SSL Authentication
                                             Mail.Configuration.fields.item _
                                             ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
                                             'Make SMTP authentication Enabled=true (1)
                                             Mail.Configuration.fields.item _
                                             ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
                                          
                                             'Set the SMTP server and port Details
                                             'Get these details from the Settings Page of your Gmail Account
                                             Mail.Configuration.fields.item _
                                             ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
                                             "smtp.gmail.com"
                                             Mail.Configuration.fields.item _
                                             ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
                                             Mail.Configuration.fields.item _
                                             ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
                                          
                                             'Set your credentials of your Gmail Account
                                             Mail.Configuration.fields.item _
                                             ("http://schemas.microsoft.com/cdo/configuration/sendusername") = _
                                             "youremail@gmail.com"
                                             Mail.Configuration.fields.item _
                                             ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = _
                                             "***********"
                                             'Update the configuration fields
                                             Mail.Configuration.fields.Update
                                          
                                             'Set All Email Properties
                                             With Mail
                                                .Subject = "Your message subject"
                                                .From = "youremail@gmail.com"
                                                .To = "someone@somewhere.com"
                                                .CC = ""
                                                .BCC = ""
                                                .textbody = "Testing 1 2 3"
                                                .AddAttachment ("D:\Temp\123.pdf") 'To attach Documents in mail
                                             End With
                                             'to send the mail
                                             Mail.Send
                                          End Sub
                                          

                                          ותחליף את הערכים בשורות הבאות:
                                          שורה 26, ו-36: תחליף לכתובת המייל שלך בגוגל
                                          שורה 29: תחליף את הכוכביות הסיסמה לחשבון גוגל
                                          שורה 41: הנתיב המלא לקובץ PDF שיצרת
                                          את שורה 46 תמחק (זו תוספת שנכנסה לקוד על ידי הפורום)

                                          אם הגעת עד לכאן - תערוך את הקוד בלחצן, ותוסיף שורה אחת בסוף:

                                          Private Sub cmdOutputAsPDF_Click()
                                             CurrentDb.QueryDefs("qryOutput").SQL= "SELECT * FROM FormData WHERE ID=" & Me.ID
                                             DoCmd.OutputTo acOutputReport, "rptOutput", acFormatPDF
                                             SendGmail
                                          End Sub
                                          
                                          תגובה 1 תגובה אחרונה
                                          2

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

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

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