האם אפשר לעשות עיצוב מותנה לפקד באקסס?
-
@אוריי הקוד צריך להמצא בטופס שמציג את השאילתא על ShelfCharacteristics
העובדה שהטופס הנ"ל נמצא בעוד טופס אחר לא משנה.י יש שאילתה לפי מס' מדף השאילתה מוצגת בתוך טופס
נקרא לו A
והטופס הזה בתוך טופס אחר
נקרא לו B
הקוד צריך להיות בטופס A
-
@OdedDvir
נראה לי שלא הוא נתקע בקוד הזהCall Forms("as").Form.SetColors()
ובלחיצה על F8 הוא מחזיר שגיאה כזו
-
@OdedDvir
עכשיו עובד
אבל נוצרה בעיה אחרת שאם אני מוריד את הסימון הוא לא מחזיר את העיצוב הקודם@אוריי זה בגלל שמעיקרא הפונקציה סורקת רק את הפקדים שמסומנים
אפשר לשנות שתסרוק הכל ולעדכן את כולם, כךPublic Sub SetColors() Dim rs As DAO.Recordset Set rs = CurrentDb.OpenRecordset("ShelfCharacteristics", dbOpenSnapshot, dbReadOnly) rs.MoveFirst While Not rs.EOF If rs!ClosedShelf Then Me.Controls(CStr(rs!ShelfNumber)).ForeColor = vbRed Else Me.Controls(CStr(rs!ShelfNumber)).ForeColor = vbBlack End If rs.MoveNext Wend rs.Close End Sub
-
@אוריי זה בגלל שמעיקרא הפונקציה סורקת רק את הפקדים שמסומנים
אפשר לשנות שתסרוק הכל ולעדכן את כולם, כךPublic Sub SetColors() Dim rs As DAO.Recordset Set rs = CurrentDb.OpenRecordset("ShelfCharacteristics", dbOpenSnapshot, dbReadOnly) rs.MoveFirst While Not rs.EOF If rs!ClosedShelf Then Me.Controls(CStr(rs!ShelfNumber)).ForeColor = vbRed Else Me.Controls(CStr(rs!ShelfNumber)).ForeColor = vbBlack End If rs.MoveNext Wend rs.Close End Sub
-
תוכל להוסיף בין שורה 1 לשורה 2 את הקוד
On Error Resume Next
שזה אומר להתעלם מכל השגיאות בפונקציה.
שים לב, לא הייתי משתמש בקוד כזה כלל בגרסת הפצה של תוכנה, כי באופן כללי זה דבר לא מומלץ להתעלם משגיאות בלי הבחנה, והנכון הוא לטפל בכל שגיאה לפי הקוד שלה.
אבל זה כבר נושא בפני עצמו.
למקרה שלך שבה הפונקציה רק משנה עיצוב - זה לא נורא... -
תוכל להוסיף בין שורה 1 לשורה 2 את הקוד
On Error Resume Next
שזה אומר להתעלם מכל השגיאות בפונקציה.
שים לב, לא הייתי משתמש בקוד כזה כלל בגרסת הפצה של תוכנה, כי באופן כללי זה דבר לא מומלץ להתעלם משגיאות בלי הבחנה, והנכון הוא לטפל בכל שגיאה לפי הקוד שלה.
אבל זה כבר נושא בפני עצמו.
למקרה שלך שבה הפונקציה רק משנה עיצוב - זה לא נורא...