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

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

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

יצירת הגדרות לכל משתמש באקסס VBA

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

    יש לי תוכנה באקסס עם טבלה בשם Settings וגם טבלה בשם SettingsForAll.
    כמובן ההבדל הוא שיש הגדרות שהם לכל המשתמשים יחד ויש הגדרות שכל משתמש מגדיר לעצמו.
    הטבלה בשם SettingsForAll יושבת ב BackEnd והטבלה Settings יושבת ב FrontEnd.

    בשביל שהמשתמשים יוכלו לשחק בהגדרות יצרתי Form בשם Settings שנגש לטבלאות עם DlookUp ושומר את ההגדרות ע"י DoCmd.RunSQL עבור כל הגדרה.

    הבעיה כזאת:
    ברגע שאני שולח עדכון תוכנה ההגרות שיושבות ב FE משתנות לפי מה שנמצא אצלי.
    איך אפשר לעשות שההגדרות שלהם ישמרו.

    אפשרות 1. לייצא את ההגדרות החוצה לקובץ INI בכל שינוי של הגדרות, ולקרוא ממנו בכל פתיחה של התוכנה.
    אפשרות 2. לשמור את כל ההגדרות רק ב INI ולקרוא בכל פעם שפונציה נדרשת לנתון של ההגדרות.

    הבעיה באפשרות השניה היא במקרה שכל מחשב שנמצא עליו ה FE זה יחייב גם INI, וגם זה כל פעם קריאה מחדש של ההגדרה מקובץ טקסט ולא מטבלה.

    לקניה והנחות ב KSP כנסו מכאן.
    למוצרים עם הנחה מכאן.

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

      @yits יש לך מערכת משתמשים? עם כניסה שכל אחד נכנס עם שם משתמש וסיסמא?
      אתה צריך בעצם משהו כזה:

      • שתי הטבלאות נמצאות בפרונט (או כטבלה מקושרת אם אתה משתמש בזה)
      • בכל הגדרה אתה בודק אם היא נמצאת על המשתמש הנוכחי, אם כן, אתה שולף משם. אם לא, אתה שולף מההגדרות הכלליות.
      • בשביל שהמשתמש הנוכחי יהיה זמין לך לכל אורך חיי התוכנית בVBA / בתוכנה, אתה יכול לעשות משתנה גלובלי.
        ולהכניס בתוכו את הID של המשתמש.
        אח"כ לעשות פונקצייה גלובלית שתחזיר לך בכל מצב את הID של המשתמש הנוכחי.
        אתה יכול להשתמש בפונקצייה הזו גם בשאליתו במשפטי WHARE וגם בINSERT.

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

      אין טסט כמו פרודקשן.

      המייל שלי urivpn@gmail.com

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

        @clickone
        הבעיה היא כשאני משדרג לגירסה חדשה יותר אני לא רוצה שהם יאבדו את ההגדרות שלהם (ויקבלו את ההגדרות שאצלי)

        ואגב חלק מההגדרות אני חייב לשמור ב FE מכיוון שבכל פתיחה אני בודק מחדש ניתוב קבצים ובונה את הלינק מחדש.

        לקניה והנחות ב KSP כנסו מכאן.
        למוצרים עם הנחה מכאן.

        clickoneC תגובה 1 תגובה אחרונה
        0
        • clickoneC מנותק
          clickoneC מנותק
          clickone
          השיב לyits ב נערך לאחרונה על ידי clickone
          #4

          @yits לא הבנתי למה זה לא יכול להיות כטבלה מקושרת, ולמה זה צריך להגיע ממך?
          כי יש לפעמים הגדרות חדשות שאתה מוסיף? ואז הם לא יהיו קיימים בטבלה הקודמת?
          אם כן, זה יחסית פשוט.
          תעשה טבלת הגדרות פנימית שלך. רשימת הדרות וברירת מחדל נקרא לזה,
          ובכל עלייה של התוכנה, תריץ SQL פשוט שמוסיף לטבלת ההגדרות של המשתמשים את ההגדרות שלא קיימות אצלם.
          ובכל יצירת משתמש חדש, אתה מוסיף את כלל ההגדרות ברירת המחדל שלך אליו.

          אם תעלה קובץ דוגמא של 2 הטבלאות, אני אוכל להעלות לך קוד SQL קצרצר שעושה את העבודה

          אין טסט כמו פרודקשן.

          המייל שלי urivpn@gmail.com

          תגובה 1 תגובה אחרונה
          0
          • Y מנותק
            Y מנותק
            yits
            כתב ב נערך לאחרונה על ידי
            #5

            ואיפה ישמרו ההגדרות של המשתמש עצמו?

            אני ינסה להסביר קצת באריכות.

            יש לי דטה בייס מוגן עם סיסמה (ואותו קשה לפרוץ accdb).
            ויש לי את ה FE.

            אם מישהו יפתח או ינסה לייבא מה FE לא יהיה לו טבלאות ולא טבלאות מקושרות.
            ואם הוא ינסה לפתוח את ה FE רגיל הוא יבקש ממנו שם משתמש וסיסמה, ויהיה לו גישה לנתונים אבל לא לייצא אותם החוצה אני מבצע נעילות מהסוג הזה:

                ChangeProperty "StartupShowDBWindow", dbBoolean, False
                ChangeProperty "StartupShowStatusBar", dbBoolean, False
                ChangeProperty "AllowBuiltinToolbars", dbBoolean, False
                ChangeProperty "AllowFullMenus", dbBoolean, False
                ChangeProperty "AllowBreakIntoCode", dbBoolean, False
                ChangeProperty "AllowSpecialKeys", dbBoolean, False
                ChangeProperty "AllowBypassKey", dbBoolean, False
                ChangeProperty "AllowShortcutMenus", dbBoolean, False
            

            ולי יש צירוף מקשים כדי לשחרר את הנעילה.

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

            אני מבין מדבריך שאתה אומר לעשות הגדרות של ברירת מחדל וטבלה להגדרות משתמש

            השאלה היא היכן לאחסן את הגדרות משתמש הרי ה FE אני משחרר כל פעם גירסה חדשה?

            לקניה והנחות ב KSP כנסו מכאן.
            למוצרים עם הנחה מכאן.

            תגובה 1 תגובה אחרונה
            0
            • Y מנותק
              Y מנותק
              yits
              כתב ב נערך לאחרונה על ידי
              #6

              @clickone
              שלחתי לך במייל

              לקניה והנחות ב KSP כנסו מכאן.
              למוצרים עם הנחה מכאן.

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

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

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

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