האם אפשר לעשות עיצוב מותנה לפקד באקסס?
-
@חייםיודלביץ
יש לי כמות של פקדים כך שכל פקד יש לו מס' מסויים בנוסף יש לי טבלה עם מספרי הפקדים ושם יש לי תיבת סימון ואני רוצה שאם המס' פקד בטבלה יהיה מסומן אז הפקד עצמו ישתנה לו הצבע -
@אוריי אתה יכול בארוע הטעינה של הטופס להריץ לולאה על הטבלה ולשנות את הצבע של כל פקד בטופס שמסומן.
-
@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()