שאלה באקסס // שאילתא לפי שם כפתור
-
@אוריי
כדי לקבל את שם הלחצן אתה יכול להשתמש עם activecontrol.name
אם זה עדיין לא עוזר לך,
עיין שוב בשאלה שלי למעלה. -
@מלא
הקישור לא עובד
2. סורי לא התעמקתי במה ששאלת
הייתי עושה טופס פשוט עם שאילתא כאשר השאילתא משתנה לפי מה שכתבתיבטופסבתיבת טקסט@אוריי אמר בשאלה באקסס // שאילתא לפי שם כפתור:
הייתי עושה טופס פשוט עם שאילתא כאשר השאילתא משתנה לפי מה שכתבתי בטופס בתיבת טקסט
מצויין.
מה שאני הבאתי לך ב2 התשובות, זה במקום התיבת טקסט,
תצטרך לשים אירוע בכל לצחן שיפעיל את הטופס,
ובמקום תיבת הטקסט תכניס את זה activecontrol.name [זה לא קישור, זה קוד].. -
@אוריי אמר בשאלה באקסס // שאילתא לפי שם כפתור:
הייתי עושה טופס פשוט עם שאילתא כאשר השאילתא משתנה לפי מה שכתבתי בטופס בתיבת טקסט
מצויין.
מה שאני הבאתי לך ב2 התשובות, זה במקום התיבת טקסט,
תצטרך לשים אירוע בכל לצחן שיפעיל את הטופס,
ובמקום תיבת הטקסט תכניס את זה activecontrol.name [זה לא קישור, זה קוד].. -
@מלא
הרבה תודה עד כה
רק עוד פרט קטן כל פעם שאני לוחץ על פקד כאשר השאילתה פתוחה הוא לא מרענן את הדף
איזה פקודה אני צריך לכתוב כדי שירענן את השאילתה?
תודה מראש.. -
@מלא
הרבה תודה עד כה
רק עוד פרט קטן כל פעם שאני לוחץ על פקד כאשר השאילתה פתוחה הוא לא מרענן את הדף
איזה פקודה אני צריך לכתוב כדי שירענן את השאילתה?
תודה מראש.. -
@אוריי אתה צריך לקרוא למתודה על האובייקט שאתה מעדכן
היכן מוצגת השאילתא? האם בטופס משנה או בטופס חדש? -
Me!a = Me.ActiveControl.Name DoCmd.OpenQuery "qq", acViewNormal DoCmd.Requery "pp"
-
@אוריי תסגור את השאילתא הפתוחה ותפתח אותה מחדש
docmd.Close acQuery, "qq" 'תעדכן את השאילתא docmd.OpenQuery "qq"
תנסה אולי הקוד הבא יעבוד (בלי לסגור ולפתוח)
DoCmd.SelectObject acQuery, "qq" DoCmd.Requery
-
@אוריי תסגור את השאילתא הפתוחה ותפתח אותה מחדש
docmd.Close acQuery, "qq" 'תעדכן את השאילתא docmd.OpenQuery "qq"
תנסה אולי הקוד הבא יעבוד (בלי לסגור ולפתוח)
DoCmd.SelectObject acQuery, "qq" DoCmd.Requery
-
@OdedDvir אמר בשאלה באקסס // שאילתא לפי שם כפתור:
@אוריי יפה. אבל נראה לי שאם השאילתה עדיין לא פתוחה תקבל שגיאה.. נכון?
לא!
זה עובד מצוין
כי הוא מנסה לסגור ואם הוא סגור הוא עובר לפקודה הבאה שצריך לפתוח אותהרק עוד שאלה קטנה אם אני צריך לעשות את אותם הפעולות בטופס מה אני משנה ולמה?
-
@OdedDvir אמר בשאלה באקסס // שאילתא לפי שם כפתור:
@אוריי יפה. אבל נראה לי שאם השאילתה עדיין לא פתוחה תקבל שגיאה.. נכון?
לא!
זה עובד מצוין
כי הוא מנסה לסגור ואם הוא סגור הוא עובר לפקודה הבאה שצריך לפתוח אותהרק עוד שאלה קטנה אם אני צריך לעשות את אותם הפעולות בטופס מה אני משנה ולמה?
@אוריי אמר בשאלה באקסס // שאילתא לפי שם כפתור:
רק עוד שאלה קטנה אם אני צריך לעשות את אותם הפעולות בטופס מה אני משנה ולמה?
אם זה הטופס הפעיל פשוט תכתוב
Me.Requery
אם זה טופס משנה של הטופס הפעיל, ושם הפקד של טופס המשנה הוא foo
Me.foo.Form.Requery
אם זה טופס אחר (שלא פעיל) אפשר באופן דומה לשאילתא
DoCmd.SelectObject acForm, "MyFormName" DoCmd.Requery
או
Forms("MyFormName").Requery
-
@אוריי אמר בשאלה באקסס // שאילתא לפי שם כפתור:
רק עוד שאלה קטנה אם אני צריך לעשות את אותם הפעולות בטופס מה אני משנה ולמה?
אם זה הטופס הפעיל פשוט תכתוב
Me.Requery
אם זה טופס משנה של הטופס הפעיל, ושם הפקד של טופס המשנה הוא foo
Me.foo.Form.Requery
אם זה טופס אחר (שלא פעיל) אפשר באופן דומה לשאילתא
DoCmd.SelectObject acForm, "MyFormName" DoCmd.Requery
או
Forms("MyFormName").Requery
-
@OdedDvir אני מרשה לעצמי להזכיר לך שפתיחה של שאילתה באופן של DoCmd.OpenQuery עלולה לאפשר למשתמש לשנות נתונים בטבלאות, ואם זו לא ההתנהגות שאתה מחפש, תציין זאת במפורש בפתיחה:
DoCmd.OpenQuery "qq", acViewNormal, acReadOnly