פתיחת טופס בויזואל בייסיק

m_gil

New member
פתיחת טופס בויזואל בייסיק

שלום, אני צריך בויזואל בייסיק לפתוח טופס בצורה דינמית אם בפרוייקט יש טופס בשם Form1 הצגתו מתבצעת ע``י Form1.Show אני צריך דרך ע``י משתנה המייצג את שם הטופס לפתוח אותו. האקסס הפתרון הוא : Dim strFormName as string ``strFormName=``Form1 Docmd.Open Form strFormName בתודה מראש
 

yositm

New member
פתיחת טופס ע``י משתנה.

זאת דוגמת קוד לפתיחת טופס ע``י משתנה,שם הטופס הוא:Form1 dim x as Form Set x=Form1 x.Show
 

m_gil

New member
פתיחת טופס VB

הדוגמא שהבאת Yositm לא מתאימה לבעייה שלי משום שאיני יודע בקוד עצמו את שם הטופס שאני צריך להציג.
 

yositm

New member
תפרט יותר..

כנראה לא הבנתי אותך נכון, אולי אם תפרט יותר על מה אתה מנסה לעשות ניתן יהיה לפתור את בעייתך.
 

m_gil

New member
הצגת טופס ששמו משתנה

אני אנסה להסביר את עצמי טוב יותר, שם הטופס שאני מעוניין לפתוח הוא משתנה ואני מעוניין בקטע קוד שיפתח טופס ששמו הוא משתנה. ב- Access 2000 יש אפשרות לכתוב : Dim strFormName as String ``strFormName=``MyForm DoCMD.OpenForm strFormName כאשר הפקודה DoCMD.OpenForm הפרמטר הראשון שלה הוא שם טופס כמשתנה. מחכה לתשובה בתודה גיל
 

yositm

New member
עדיין לא ברור לי

אני לא מכיר פקודה ב-VB שמקבלת כפרמטר שם של טופס ופותחת אותו אולם בהנחה שאתה יודע את שמות הטפסים שיש לך בפרוייקט ניתן להשתמש ב-Show.[שם טופס].
 

noam172

New member
איך אתה מתכוון לשנות את שם הטופס?

אתה אומר שאתה לא יודע את שמות הטפסים. אני מבין מכך שאתה מתכוון לשנות את שם הטופס בזמן ריצת התוכנית. ובכן, אני מצטער להודיע לך, אבל המאפיין Name של הטופס הוא לקריאה-בלבד בזמן-ריצה, ואפשר לשנות אותו רק בזמן-הפיתוח. כלומר, השם של הטופס הוא קבוע כל זמן שהתוכנית רצה, ולכן (תקן אותי אם אני טועה) אתה אמור לדעת את שם הטופס מההתחלה.
 

m_gil

New member
תשובה

הבעיה שיש לי היא שהטופס שאני צריך לפתוח שמו נמצא במשתנה מחרוזת,והבעיה היא לפתוח טופס ששמו נמצא במשנה . באקסס 2000 יש פקודה בשם Docmd.OpenForm שהפרמטר הראשון שלה הוא שם הטופס שיכול להיות גם משתנה. אני צריך פקודה מקבילה בויזואל בייסיק.
 

noam172

New member
לא לגמרי הבנתי

כמו שאמרתי, יש לטופס מאפיין Name שהוא לקריאה בלבד. אם אני מבין אותך נכון, אתה מתכוון להשתמש במשתנה מחרוזת כ``שם נוסף`` לטופס, ודרכו להגיע לטופס. אתה כמתכנת מכיר בכך שהמשתנה הוא שם בשביל הטופס, אבל איך הטופס אמור לדעת את זה? אולי מה שאתה מחפש זה משתנה שיכול להצביע על טופס, ולהצביע על טופס שונה כל פעם. ובכן: Dim frm As Form Set frm=Form1 פקודות אלו ייצרו משתנה בשם frm שיכול להצביע על טופס, וישייכו אותו לטופס Form1.
 

aloon

New member
תשובה

באתר הזה יש דוגמא איך לעשות זאת, בקטגוריית הטיפים והטריקים, תת קטגוריה - controls
 
למעלה