-
@odeddvir אבל אני לא רוצה להגביל, אני רוצה שממלא הטופס יכתוב חוות דעת כל שהיא ללא הגבלת טקסט, אני רק רוצה שהגופן יתאים את עצמו, בפאוור פוינט יש דבר כזה, ואני מניח שגם פה אמור להיות מסיבה פשוטה, שהרי הטופס מיועד גם לייצוא לדו"ח ואיך הם חושבים שיראו את הדו"ח עם פס גלילה?
-
@שוהם307 אמר בבניית טופס/דו"ח:
אבל אני לא רוצה להגביל, אני רוצה שממלא הטופס יכתוב חוות דעת כל שהיא ללא הגבלת טקסט,
אתה מוגבל ממילא על ידי אקסס, כי כל שדה טקסט בטופס\דוח אקסס מוגבל בתצוגה עד 255 תוים בטקסט רגיל או 2048 תוים בטקסט עשיר.
אני רק רוצה שהגופן יתאים את עצמו, בפאוור פוינט יש דבר כזה, ואני מניח שגם פה אמור להיות
ניתן לבצע את הקטנת הגופן על ידי קוד אבל לטעמי זה פתרון צולע מכמה בחינות:
- גם כאן, יש גבול הגיוני להקטנה, שאחריו הטקסט לא יהיה קריא.
- תוי מעבר שורה צריכים יחס מיוחד.
- בכל סוג נתונים בכל פלטפורמה יש הגבלה, תרצה או לא. יש הגיון להגביל גם את המשתמש ולא לתת לו להשתפך ככל העולה על רוחו.
מסיבה פשוטה, שהרי הטופס מיועד גם לייצוא לדו"ח ואיך הם חושבים שיראו את הדו"ח עם פס גלילה?
באקסס ניתן בהחלט להציג דוח עם פס גלילה.
-
@שוהם307 קודם כל כל הכבוד!
למה אקסס כ"כ לא ידידותי לעיצוב
הלואי ואקסס היתה זוכה ליותר תשומת לב ממיקרוסופט בשנים האחרונות.
אני מקווה שאני לא מייאש אותך, אבל את עיקר העיצוב היית צריך להשקיע בדוח ולא בטופס. אבל אל דאגה, יתכן ולא תצטרך לעבוד קשה. כעת צור דוח ריק, ותעתיק את כל הפקדים מהטופס לתוך הדו"ח (העתק הדבק).
בדוק את הדוח בתצוגת עיצוב, ואם הוא עדיין נראה טוב - נמשיך לכתיבת הקוד. -
@odeddvir אמר בבניית טופס/דו"ח:
אל תשכח לבסס את הדוח על הטבלה של הנתונים (כמו שעשית בטופס).
את זה לא הצלחתי לעשות,
העתקתי את כל הטופס והדבקתי אותו בדו"ח ריק חדש שיצרתי, קיבלתי את אותה הצורה של הטופס בדו"ח,
אבל כאמור את הביסוס שכתבת לא בדיוק הבנתי איך אני עושה את זה.
עריכה: יש משהו שאני עדיין לא מבין מה אני עושה, תגיד לי מה לא בסדר במה שהבנתי.- בעיקרון הדו"ח מקבל נתונים מטבלה, ולכן בעיקרון המשתמש אמור למלאות את הנתונים שלו בטבלה ואז לייצר דו"ח. ומה שקורה שאני רק הכנתי טבלה כדי לקבל שדות (שדה אחת "שם העובד" ושדה מתחת למילוי), והנתונים מוזנים בתוך טופס, אז אם כן אני יכול בעצם לשמור את הטופס עצמו כ PDF, אז למה לי לייצר מזה דו"ח ואז לשלוח להדפסה?
- אני מאמין שזה חלק מהתהליך, איך יש קשר בין הדו"ח שאני עיצבתי, לבין הנתונים שמילאתי בטופס.
תודה רבה רבה
-
@שוהם307 על רגל אחת:
-
הרעיון העיקרי של טופס הוא לאפשר הקלדה נוחה יותר של הנתונים (מאשר הקלדה ישירות בטבלה). אם תרצה, זהו הממשק שדרכו המשתמש ניגש לטבלה.
כדי שהנתונים שאכניס\אשנה בטופס ישפיעו על הנתונים בטבלה עצמה, אני צריך לבסס את הטופס על הטבלה, כלומר: לציין שמקור הנתונים של הטופס - הוא הטבלה.
זה נעשה על ידי הגדרת המאפיין "מקור נתונים" בטופס להיות: שֵם הטבלה שבה נמצאים הנתונים. -
הרעיון העיקרי של דוח הוא רק להציג את הנתונים בצורה נעימה ומסודרת. אתה יוצר דוח כי את הדוח אפשר בקלות להפוך ל-PDF (את הטופס - לא כל כך)
למעשה, כבר כתבתי את הכל בקיצור למעלה:
טופס משמש בעיקר להקלדה או עריכת נתונים.
דוח משמש בעיקר להצגת נתונים, ואפשר בקלות לייצא אותו ל-PDF. -
-
@odeddvir אמר בבניית טופס/דו"ח:
כדי שהנתונים שאכניס\אשנה בטופס ישפיעו על הנתונים בטבלה עצמה
למה הכוונה? איך זה משפיע בדיוק על הטבלה? הרי הטבלה לא מתחילה להתמלאות בנתונים שהזנתי בטופס, אלא יש לי רק שמות של שדות בטופס שמגיעים מהטבלה, ושדות ריקות שגם הן מגיעות מהטבלה, ואני ממלא את הטופס, הלא כן?
ומה לגבי זה?
@שוהם307 אמר בבניית טופס/דו"ח:את זה לא הצלחתי לעשות,
העתקתי את כל הטופס והדבקתי אותו בדו"ח ריק חדש שיצרתי, קיבלתי את אותה הצורה של הטופס בדו"ח,
אבל כאמור את הביסוס שכתבת לא בדיוק הבנתי איך אני עושה את זה.תודה רבה רבה אלף פעמים על הסבלנות והנדיבות.
@odeddvir אמר בבניית טופס/דו"ח:
הרעיון העיקרי של דוח הוא רק להציג את הנתונים בצורה נעימה ומסודרת
אפשר לומר שאצלי זה לא מאוד משנה, כי אני מעוניין שגם ממלא הטופס וגם מקבל הטופס יראו את אותו תצוגה עם אותם עיצובים.
-
@שוהם307 אמר בבניית טופס/דו"ח:
למה הכוונה? איך זה משפיע בדיוק על הטבלה? הרי הטבלה לא מתחילה להתמלאות בנתונים שהזנתי בטופס...
דווקא כן, זה כל הענין של השימוש בטופס.
ומה לגבי זה?
כתבתי למעלה איך לבצע זאת.
אפשר לומר שאצלי זה לא מאוד משנה, כי אני מעוניין שגם ממלא הטופס וגם מקבל הטופס יראו את אותו תצוגה עם אותם עיצובים
זה פשוט יותר נוח ליצא ל-PDF את הדוח, כי לעתים יש בטופס פקדים שאנו לא מעוניינים להציג ב-PDF.
-
@OdedDvir אני נתקע כאן בשלב הזה, יכול להיות שאצלך זה פשוט אבל אני לא מתחיל להבין למה כוונתך.
כאמור עיצבתי טופס ודו"ח, מה שאני מקליד בטופס, נקלד בטבלה. גם את זה הבנתי.
אבל עכשיו האם הטבלה מייצרת את הדו"ח? או שהטפס מייצר אותו.
אני מניח שהטבלה מייצרת אותו, ואם כן, איך אני עושה שהטבלה ימלא את הדו"ח הספציפי שאני עיצבתי???
לא מצליח להבין את מה שכתבת 'מקור נתונים'.
תודה. -
@odeddvir אמר בבניית טופס/דו"ח:
להלן השלבים:
- צור טבלה עם השדות הרצויים
- צור טופס להזנת נתונים \ צפייה בנתונים, שמבוסס על הטבלה
- צור דוח שגם הוא מבוסס על הטבלה, בעיצוב כרצונך
אני מבין שעשית את הכל עד כאן.
בוא נבין מה עשית: אם ההקלדות בטופס נקלטות בטבלה, זה אומר שהטבלה היא מקור הנתונים של הטופס.
שים לב שתוכל להקליד רשומות רבות בטופס, ואחר כך להציג את כל הרשומות שבטבלה, שורה אחר שורה, ולעבור ביניהם על ידי לחצני הניווט שבתחתית הטופס:
באופן דומה, גם בדוח:
אם הטבלה היא מקור הנתונים של הדוח, הדוח יציג את הערכים שבטבלה, שורה אחר שורה. תוכל להציג את הדוח בתצוגה לפני הדפסה, ואז לדפדף בין הרשומות על ידי לחצני הניווט שבתחתית הדוח:
תאשר אם הכל עובד כנ"ל, ואז נעבור לשלבים הבאים:
- הוסף לחצן בטופס כך שיפתח את הדוח ברשומה הנכונה, וייצא את הדוח ל-PDF (על ידי קוד VBA)
תוכל להוסיף בסוף הקוד שליחה של ה-PDF שנוצר לכתובת המייל
-
@שוהם307 אמר בבניית טופס/דו"ח:
ואם כן נראה לי שאפשר להתקדם לשלב של הקוד.
בוא נכין את השטח קודם:
- שנה את שם הדוח ל-rptOutput
- שנה את שם הטבלה של הנתונים ל-FormData
- תוסיף לטבלה FormData שדה בשם "ID" מסוג "מספור אוטומטי".
- צור שאילתה בשם qryOutput שמכילה את הביטוי הבא:
SELECT * FROM FormData
ותבסס את הדוח עליה, במקום ישירות על הטבלה FormData. כלומר תשנה את מקור הנתונים של הדוח להיות qryOutput. - תוסיף בטופס פקד לחצן פקודה ותשנה את שמו ל-cmdOutputAsPDF
עכשיו נכתוב את הקוד:
בארוע לחיצה של הלחצן, תיצור קוד VBA כדלקמן:Private Sub cmdOutputAsPDF_Click() CurrentDb.QueryDefs("qryOutput").SQL= "SELECT * FROM FormData WHERE ID=" & Me.ID DoCmd.OutputTo acOutputReport, "rptOutput", acFormatPDF End Sub