האם אפשר לעשות עיצוב מותנה לפקד באקסס?
-
@אוריי תוסיף את הקוד הבא לטופס (הופך את צבע הקידמה של הפקד לאדום):
Private Sub SetColors() Dim rs As DAO.Recordset Set rs = CurrentDb.OpenRecordset("SELECT * FROM ShelfCharacteristics WHERE ClosedShelf=True", dbOpenSnapshot, dbReadOnly) rs.MoveFirst While Not rs.EOF Me.Controls(CStr(rs!ShelfNumber)).ForeColor = vbRed rs.MoveNext Wend rs.Close End Sub Private Sub Form_Load() SetColors End Sub -
@OdedDvir אמר בהאם אפשר לעשות עיצוב מותנה לפקד באקסס?:
פשוט תוסיף רק את הקוד של הפונקציה הראשונה SetColors() שבשורות 1-10, ואת השאר לא
את זה איפה אני מוסיף באיזה אירוע?
-
@אוריי אתה צריך לקרוא לפונקציה SetColors() אחרי כל עדכון של הטבלה.
ראשית תשנה את הפונקציה לציבורית, כדי שתוכל לקרוא לה מטופס אחר:Public Sub SetColors() ..... אחר כך תוסיף לטופס שבו נמצאת הטבלה את הארוע After_Apdate() ושם תקרא לפונקציה של הטופס:
Private Sub After_Update() Forms("<form-name>").SetColors() End Sub -
@אוריי אמר בהאם אפשר לעשות עיצוב מותנה לפקד באקסס?:
א. איך להפוך לציבורית
רשמתי לך למעלה (לשנות את המילה Private למילה Public)
ב. האם אני אמור לשנות את זה?
כן, תכניס שם את שם הטופס שמכיל את הפקדים, למשל:
Forms("Shelves").SetColors()
-
@אוריי אההה, זו לא באמת שגיאה, אלא מוגבלות של השפה:
תשנה את הקוד ל:Forms!as.SetColors או Forms("as").Form.SetColors דהיינו בלי סוגריים, או אם דווקא אתה רוצה סוגריים תוסיף את המילה Call בהתחלה
Call Forms("as").Form.SetColors()
17/40