מד התקדמות באקסס

פוזנא

New member
מד התקדמות באקסס

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

דבר ראשון אתה צריך להוסיף את הפקד הרלוונטי לטופס.... הפקד נקרא: ProgressBar ויש לו כמה מאפיינים.... לחיצה כפולה עליו תגלה לך את המאפיינים שלו, ושווה ללמוד את זה... עכשיו בתחילת הרצת השאילתה תגדיר את ערך המקסימום בצורה הבאה (בהנחה שהשם הוא AxProgBar):
Me![AxProgBar].Max = Rst.RecordCount​
עכשיו אתה מריץ את השאילתה שלך... ולפני שאתה מבצע את השורה
Rst.MoveNext​
אתה תוסיף את השורה:
Me![AxProgBar].Value = Me![AxProgBar].Value + 1​
 

פוזנא

New member
ראשית תודה, אבל...

אין לי שאילתה אחת - יש לי כמאתיים שאילתות, ומה שמריץ את הכל זה מאקרו אחד כמו שכתבתי בשאלה המקורית. לכן, קידום המד בעזרת השאילתות אינו ריאלי בנוסף, כאשר אני שם את הפקד, ואני הולך לדוגמא לבצע SETVALUE, אני לא רואה אותו במרכיבי הטופס ! האם אין מד התקדמות שתלוי בזמן ולא ברצף פעולות ? ושאלונת קטנה : אין פתרון על טהרת האקסס בלי כל קודי ה VB למיניהם ?
 
תראה...

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

פוזנא

New member
אבל...

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