דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. לולאה על Public Type

לולאה על Public Type

מתוזמן נעוץ נעול הועבר תכנות
3 פוסטים 2 כותבים 149 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • א מנותק
    א מנותק
    ארי
    כתב ב נערך לאחרונה על ידי
    #1

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

    Public Type Kesher
        FirstName As String
        LastName As String
        ID As Double
        Address As String
    End Type
    

    וזה הקוד בטופס:

    Dim ctl         As Control
    Dim KesherInfo  As Kesher
    
    For Each ctl In Me.Controls
        
        KesherInfo(ctl.name) = Me(ctl.name)
    
    Next
    

    אבל הוא מחזיר לי שגיאה על המילים KesherInfo(ctl.name).
    יש דרך לעשות את זה?
    תודה!

    yossizY תגובה 1 תגובה אחרונה
    0
    • yossizY מנותק
      yossizY מנותק
      yossiz
      השיב לארי ב נערך לאחרונה על ידי yossiz
      #2

      @ארי כתב בלולאה על Public Type:

      יש דרך לעשות את זה?

      אחרי חיפוש, לכאורה אין דרך עם Type

      (מילות מפתח שהתשמשתי לחיפוש: vba udt dynamic field access ועוד וריאציות של זה. גם בדקתי את התיעוד של מייקרוסופט ועוד אתרים, ולא מצאתי שום ממצא מעניין)

      לכאורה הפתרון הוא להשתמש ב-Collection במקום ב-Type

      האמת שדי מובן לי למה אי אפשר עם Type, כנראה ש-Type הוא מבנה מאוד פשוט (כמו struct ב-C) של כמה ערכים צמודים אחד ליד השני ולא מפה של מפתח => ערך, לכן השם לגישה עובד רק ברמת השפה (המפרש יודע לתרגם שם של שדה למיקום במבנה) שזה בצורה סטטית (רק שם שמופיע בתוך הקוד בצורה סטטית מתורגם למיקום במבנה) ולא בצורה דינאמית (בזמן ריצה אין קוד שמתרגם שמות למיקומים)

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

      א תגובה 1 תגובה אחרונה
      4
      • א מנותק
        א מנותק
        ארי
        השיב לyossiz ב נערך לאחרונה על ידי
        #3

        @yossiz תודה!
        אחרי ששלחתי את השאלה, חשבתי גם עם Collection, ודווקא נראה לי שזה יצא מסודר יותר....
        שוב תודה!

        תגובה 1 תגובה אחרונה
        1

        בא תתחבר לדף היומי!
        • התחברות

        • אין לך חשבון עדיין? הרשמה

        • התחברו או הירשמו כדי לחפש.
        • פוסט ראשון
          פוסט אחרון
        0
        • דף הבית
        • קטגוריות
        • פוסטים אחרונים
        • משתמשים
        • חיפוש
        • חוקי הפורום