רציתי להתייעץ ולשמוע את דעתכם.
מכירים את האקורדיון בWEB?
מישהו הציע לי לממש אובייקט דומה באקסס, במיוחד במסכים עתירי נתונים, או מסכים עם שלבים שצריך סדר ברור בין שלב לשלב. (כיום כשצריך ללכת שלב אחרי שלב אני נוהג להשתמש עם TabControl).
אני מצרף את האובייקט שבניתי, שזה בעצם מסך עם 9 כפתורים. (אחד הדברים המעצבנים באקסס, זה שא"א ליצור פקדים על המסך תוך כדי ריצה.) + אובייקט טאב עם 9 עמודים.
כמובן שאפשר לממש את זה עם כל מספר עמודים שתרצו וכן כל מספר כפתורים, רק שימו לב שאתם יוצרים מספר עמודים שווה למספר הכפתורים, וכן שימו לב שאתם קוראים לכפתורים בשם C + המספר הסידורי שלו.
הקוד:
Public Function setCmd(icmd As Integer)
' מטרת הפונקצייה לסדר את האקורדיון
' משתנה עבור גובה כולל
Dim AllH As Long
' הכפתור הראשון בגובה 0
c1.Top = 0
' מעבר בפור על כל הכפתורים
For i = 1 To 9
'הגובה של הכפתור הוא הגובה הכולל + 20
Me("c" & i).Top = AllH + 20
' שינוי הערך של הגובה הכולל
AllH = AllH + Me("c" & i).Height + 20
' בדיקה אם הכפתור הוא הכפתור שנלחץ (לפי המספר שבר בפרמטר) ואם כן, להציב שם את הטאב
If icmd = i Then
' הצבת הטאב
Me!TabCtl.Top = AllH + 20
' הגובה של הכל עד עכשיו
AllH = AllH + TabCtl.Height + 20
End If
' מעבר לכפתור הבא
Next
' הערך של הטאב הנוכחי הוא מספר הכפתור פחות אחד, כי האינדקס בטאב קונטרול מתחיל מ0
Me!TabCtl.Value = icmd - 1
End Function
להורדת הדוגמא:
Accordion.zip
[size=150:2qf5zpm2]הקובץ + קוד המקור פתוח לשימוש ושינוי חופשי![/size:2qf5zpm2]
אשמח לשמוע גם ממי שלא באקסס (וכמובן ממי שבאקסס), האם ראוי בכלל לנסות לכתוב פקדי WEB או להביא ממשק WEB לטפסי חלון, או שזה סתם עירבוב מעצבן בין התחומים.
פורסם במקור בפורום CODE613 ב05/01/2014 23:45 (+02:00)