שאלה באקסס

rs1984

New member
שאלה באקסס

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

גרי רשף

New member
שתי אפשרויות

1. לשלוח את מספר הרבעון לדוח על ידי האופציה OpenArgs ובדוח לכתוב קוד שישתמש במשתנה OpenArgs ויכניס אותו לכותרת (המשתנה הוא משתנה מערכת שאין צורך להגדיר והוא מקבל אוטומטית את הערך שנשלח אליו). 2. בדוח לכתוב קוד שיפנה לטופס ממנו הדוח נפתח ויקרא את ערך הקומבו על ידי משהו בסגנון של Forms!MyForm!MyCombo.
 

rs1984

New member
זה נראה לי יותר מידי מסובך,האם אין

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

גרי רשף

New member
ההסבר מסובך הביצוע פשוט

פתח את הדוח עם הפקודה הבאה:
DoCmd.OpenReport "MyReport", , , , , Me.MyCombo​
הפרמטר החמישי בפקודה הוא OpenArgs והוא מעביר את הערך של הקומבו למשתנה שבתוך הדוח. בדוח עצמו באירוע הפתיחה כתוב משהו כמו:
Me.Caption=OpenArgs​
וזה יגרום לערך של הקומבו שהועבר לדוח להופיע בפס הכחול בראש החלון של הדוח. כמובן שאפשר לכתוב את זה בפקד התווית המשמש ככותרת ולשרשר לו טקסט קבוע כאוות נפשך. אין צורך להגדיר את OpenArgs בתוך הדוח והוא קיים שם אוטומטית
 

rs1984

New member
ראה קובץ מצורף

למה יש לי הערה? את הריבעון ארצה לרשום בתוך תיבת טקסט18,בדוח "10 העובדים הטובים בחודש". תודה רבה לך על הסבלנות.
 

גרי רשף

New member
זה לא זה..

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

rs1984

New member
אני חושב שניתקעתי עם הפקודה השניה

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

גרי רשף

New member
הפקודה לא צירכה להיות שם..

..הפקודה צריכה להיות בתוך האירוע On Open (למשל): גש לתכונות של הדוח עצמו, ובלשונית האירועים חפש את האפשרות המתאימה.
 

גרי רשף

New member
הערה

השורה המסומנת צריכה להחליף את שתי השורות המתחילות בפקודות StDocName ו-DoCmd.OpenReport.
 

rs1984

New member
תיזכורת לבעיה

רציתי להוסיף את מספר הריבעון שנמצא בתוך תיבה משולבת שבטופס לתוך דוח (את הדוח נקבל לחצן הנמצא על הטופס). אני חושב שעשיתי לפי השלבים. 1.פתחתי את הדוח,במאפיינים->אירוע>בעת פתיחה ,בחרתי לבנות קוד ורשמתי את השורה הבאה: Me.Caption=OpenArgs ראה קובץ 2.
 

rs1984

New member
אח"כ הוספתי לטופס את השורה

שאמרת לי במקום השניים ראה קובץ 3. אך עדין זה לא עובד מה הבעיה ???
 

גרי רשף

New member
ומה קרה?

הפקודה הזו צריכה להיות בתוך האירוע, כלומר בין ..Private Sub לבין End Sub, והיא תכתוב את ערך ה-OpenArgs בכותרת החלון. כמובן שזה חסר ערך מעשי לכתוב דבר כזה בכותרת החלון, וזה רק בא להראות שהמשתנה קיבל ערך, ואפשר יהיה לנצל אותו לדברים יותר חשובים.. במקום OpenArgs אפשר לכתוב Now ואז הקוד יכתוב את התאריך והשעה הנוכחיים (זה יכול להיות קצת יותר שימושי
).
 

rs1984

New member
הבעיה היא כמו מקודם,שעדין הבאג קיים

והוא קופץ,איך אני יכול להעביר את הערך(מס' רבעון) לתיבת טקסט?איך לרשום זאת?
 
למעלה