האם אפשר לעשות עיצוב מותנה לפקד באקסס?
-
@OdedDvir
שם הטבלה: ShelfCharacteristics
שם שדה של מספרי פקדים : ShelfNumber
שם שדה של תיבות סימון בטבלה: ClosedShelf -
@אוריי תוסיף את הקוד הבא לטופס (הופך את צבע הקידמה של הפקד לאדום):
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 -
@אוריי תוסיף את הקוד הבא לטופס (הופך את צבע הקידמה של הפקד לאדום):
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 -
@אוריי יש לך כנראה כבר קוד עבור הארוע Form_Load
פשוט תוסיף רק את הקוד של הפונקציה הראשונה SetColors() שבשורות 1-10, ואת השאר לא, ותוסיף לפונקציה Form_Load הקיימת בטופס את הקריאה שבשורה 13 -
@אוריי יש לך כנראה כבר קוד עבור הארוע Form_Load
פשוט תוסיף רק את הקוד של הפונקציה הראשונה SetColors() שבשורות 1-10, ואת השאר לא, ותוסיף לפונקציה Form_Load הקיימת בטופס את הקריאה שבשורה 13 -
@אוריי תוסיף את הקוד הבא לטופס (הופך את צבע הקידמה של הפקד לאדום):
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 -
@אוריי אתה צריך לקרוא לפונקציה SetColors() אחרי כל עדכון של הטבלה.
ראשית תשנה את הפונקציה לציבורית, כדי שתוכל לקרוא לה מטופס אחר:Public Sub SetColors() .....אחר כך תוסיף לטופס שבו נמצאת הטבלה את הארוע After_Apdate() ושם תקרא לפונקציה של הטופס:
Private Sub After_Update() Forms("<form-name>").SetColors() End Sub -
@אוריי אתה צריך לקרוא לפונקציה SetColors() אחרי כל עדכון של הטבלה.
ראשית תשנה את הפונקציה לציבורית, כדי שתוכל לקרוא לה מטופס אחר:Public Sub SetColors() .....אחר כך תוסיף לטופס שבו נמצאת הטבלה את הארוע After_Apdate() ושם תקרא לפונקציה של הטופס:
Private Sub After_Update() Forms("<form-name>").SetColors() End Sub -
@אוריי אתה צריך לקרוא לפונקציה SetColors() אחרי כל עדכון של הטבלה.
ראשית תשנה את הפונקציה לציבורית, כדי שתוכל לקרוא לה מטופס אחר:Public Sub SetColors() .....אחר כך תוסיף לטופס שבו נמצאת הטבלה את הארוע After_Apdate() ושם תקרא לפונקציה של הטופס:
Private Sub After_Update() Forms("<form-name>").SetColors() End Sub -
@OdedDvir
סליחה אבל לא הבנתי מה לעשות בדיוק
א. איך להפוך לציבורית
ב. האם אני אמור לשנות את זה?("<form-name>") -
@אוריי אמר בהאם אפשר לעשות עיצוב מותנה לפקד באקסס?:
א. איך להפוך לציבורית
רשמתי לך למעלה (לשנות את המילה Private למילה Public)
ב. האם אני אמור לשנות את זה?
כן, תכניס שם את שם הטופס שמכיל את הפקדים, למשל:
Forms("Shelves").SetColors() -
@אוריי זו שגיאה כי הקומפיילר לא מזהה את הפונקציה.
תוכל לעקוף את השגיאה על ידיForms("as").Form.SetColors()או על ידי
Forms!as.SetColors()
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות



