אקסס-קריאה למאקרו יותר מ19 פעמים?
-
@יהודי-טוב אויש, מאקרו....
זה נראה בעייה של מאקרו מקונן (Nested), כלומר שהמאקרו קורא למאקרו שקורא למאקרו וכו' 19 פעמים ברציפות. טוב שיש הגבלה רק עד 19 רבדים ולא יותר...
אגב, התנהגות של קריאה בתוך קריאה בתוך קריאה וכו' בעומק של 19 רמות (!!!) זה נשמע מאוד כמו לוגיקה שגוייה. תבדוק את ההגיון מאחורי המאקרו היטב.כמו שציין @avi-rz אם תצרף צילום של המאקרו אולי זה יסייע לעזור לך, אבל אני הייתי נמנע לגמרי משימוש במאקרו, ועובר לקוד VBA, שהרבה יותר קל לדיבוג.
-
ניהול.accdb
העלתי את הקובץ.
אני רואה עכשיו שטופס סיכום לא נפתח אצלי במחשב,
מישהו ערך את זה ושלח לי, ועולה לי שגיאה...קצת על הקובץ:
אני נותן שירות מסוים ללקוחות,
יש אחד בתחום שלי שמפנה אלי הרבה לקוחות תמורת תשלום אחוזים מהתיק.
יש לקוחות שמשלמים לו את התשלום המלא, ויש לקוחות שמשלמים לי את התשלום המלא,ובסופו של עניין אנחנו צריכים סיכום מי חייב למי.
אם יש למישהו הערות כמובן שאשמח לשמוע.
כל הקובץ הוא ללא טיפת קוד...
-
-
@יהודי-טוב אמר באקסס-קריאה למאקרו יותר מ19 פעמים?:
הלחצנים בטופס הראשי בשלב מסוים מפסיקים לעבוד, (כנראה לאחר 19 פעמים)
יש לזה פיתרון??בעיקרון אין מה להוסיף על מה ש
@odeddvir אמר באקסס-קריאה למאקרו יותר מ19 פעמים?:
אבל אני הייתי נמנע לגמרי משימוש במאקרו, ועובר לקוד VBA, שהרבה יותר קל לדיבוג.
אם את מתעקש תנסה, לא להשתמש ב runMacro, ותכתוב כל פעם מחדש את הפקודה - (תוכל אפי' למצוא אותו בצד בלחיצה כפולה הוא מעתיק לך).
אבל באמת שאני לא מבין למה אתה מתעקש בפרט שאתה משתמש רק ב2 פקודות בהתחלה.
פתיחת טופס:Docmd.openForm "FormName"
וסגירת טופס:
Docmd.Close asForm, "FormName"
ואתה גם יכול לוותר על שם הטופס, ואז הוא יסגור את הטופס הפעיל כך:
Docmd.Close asForm
ואם תרצה עוד בהתחלה תוכל ליצור באמת מאקרו לשמור אותו ולהשתמש בהמרה של אקסס לקוד vba נדמה לי שהוא יוצר גם את הטיפול בשגיאות תוכל בהתחלה לוותר על זה ולגשת ישר לקוד האמצעי הקצר.
-
@יהודי-טוב אמר באקסס-קריאה למאקרו יותר מ19 פעמים?:
ניסיתי לכתוב כך
וכשלחצתי על הלחצן עלתה לי השגיאה הזו:סליחה, אם אתה רוצה לציין טופס אז תציין שהאובייקט שאתה רוצה לסגור הוא מסוג טופס, כך:
Docmd.Close asForm, "FormName"
וכמובן אם לשמור או לא - זה הארגומנט השלישי. להכריח לשמור, כך:
DoCmd.Close asForm, "FormName" ,acSaveYes
ובקשה זה : acSavePrompt - זה גם ברירת מחדל שזה אומר שגם אם אתה נעצר קודם(כמו בדוגמאות הקודמות) זאת תהיה הבחירה.
אבל אם אתה לא לציין טופס אז תכתוב בלי סוג סתם ככה:
DoCmd.Close
אבל למה אתה לא רואה במדריך של @OdedDvir נראה לי שהוא משתמש בvba. והוא מסביר בצורה מתוקה מאוד. (לו היה לי כזה בהתחלה ...)
-
תודה רבה,
כך אפשר ללחוץ על לחצן גם יותר מ19 פעמים..אגב, האם יש אפשרות לכתוב שם של טופס בעברית?
ניסיתי לכתוב בעברית והוא לא מצא את זה.
כל הטפסים שלי בעברית, וזה קצת מסובך לשנות לכולם את השם לאנגלית.אגב 2
אם אני כבר משנה את זה לקוד במקום המאקרו, יש לך בשליפה קוד שיפתח את הטופס המקושר למזהה, (משום מה אני לא מצליח להמיר את המאקרו לVBA) זה לא דחוף מכיוון שזה נראה לי מקרה קיצוני לפתוח 19 פעם לקוח אחד ללא סגירה של הקובץ.אגב 3
יש אפשרות להסיר את הקווקווים סביב הבחירה שלי?
(בדוגמא סביב 'לקוחות')
אין מילים על העזרה...
-
@יהודי-טוב אמר באקסס-קריאה למאקרו יותר מ19 פעמים?:
אגב, האם יש אפשרות לכתוב שם של טופס בעברית?
-
פריט רשימה ברור, זה אפשרי, זה אמור לעבוד רגיל, אבל ראיתי כבר למעלה שיש לך איזו שהיא בעיה בVBA כדאי שתתייעץ ע"ז (כמובן באשכול חדש), זה נהפך לך לג'יבריש היה לי את זה פעם באיזה מחשב ואני לא זוכר מה פתר את זה אולי תנסה להתקין גירסה אחרת של אופיס.
-
זה הארגומנט הרביעי, כך:
Docmd.openForm "FormName" , , "" ,"[ID]=" & Me.שדה_של_מזהה_לקוח.value
- לא מה שידוע לי.
-