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

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

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

אקסס | מה הדרך הנכונה והמהירה לשינוי מקור פקד ע"י המשתמש?

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

    שלום וברכה

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

    חשבתי לעשות ארוע בעת טעינת הטופס שיבדוק עם הפונקציה DLookup מהם הגדרות המשתמש בטבלה ואז לשנות את מקור הפקד לפי המוחזר מהפונקציה בקוד VBA.

    האם זו הדרך הנכונה לבצע את זה? זה לא מאט את התוכנה?

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

    אודה לעזרתכם

    OdedDvirO תגובה 1 תגובה אחרונה
    0
    • OdedDvirO מנותק
      OdedDvirO מנותק
      OdedDvir
      השיב לחייםיודלביץ ב נערך לאחרונה על ידי
      #2

      @חייםיודלביץ כתב באקסס | מה הדרך הנכונה והמהירה לשינוי מקור פקד ע"י המשתמש?:

      האם זו הדרך הנכונה לבצע את זה?

      זה אפשרי.

      זה לא מאט את התוכנה?

      זה זניח במקרה של 10 תיבות טקסט.

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

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

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

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

        @OdedDvir כתב באקסס | מה הדרך הנכונה והמהירה לשינוי מקור פקד ע"י המשתמש?:

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

        אכן את זה חיפשתי, תודה!

        @OdedDvir כתב באקסס | מה הדרך הנכונה והמהירה לשינוי מקור פקד ע"י המשתמש?:

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

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

        יש דרך יותר נכונה או שבמקרה זה הדרך הנכונה היא עם dlookup ?

        OdedDvirO תגובה 1 תגובה אחרונה
        0
        • OdedDvirO מנותק
          OdedDvirO מנותק
          OdedDvir
          השיב לחייםיודלביץ ב נערך לאחרונה על ידי OdedDvir
          #4

          @חייםיודלביץ
          ראשית חשוב לי לומר שבמסד נתונים SQL הדרך הכי טובה לבניית טבלאות היא נירמול הנתונים.
          כלומר, מבנה הטבלה (ובפרט מספר העמודות בטבלה) לעולם לא יהיה מושפע או תלוי במספר הרשומות שנכניס לתוכה.
          למשל, אם יש ללקוחות כמה מספרי טלפון, לא אשמור אותם בעמודות Phone1, Phone2, אלא בטבלה נפרדת עם מפתח זר המפנה לטבלת הלקוחות.
          ובנידון דידן, גם אם אני מתכנן לשמור נתונים של שנים על גבי שנים, לא אצור לכל שנה עמודה משלה, אלא אשמור את התאריך בעמודה אחת, ובמקרה הצורך, אסנן את הטבלה כולה על פיה.
          בהנחה שהבננו את הקו המנחה הזה, המימוש של הסינון הופך לטריוויאלי.
          אם התחכמנו \ התעצלנו מללכת אחר ההתוויה של ה-SQL, כמעט תמיד נגלה כי לאחר מעשה, נדיר שיתאפשר לי לעצב מחדש את הטבלה (וזה כאב ראש גדול), ופעמים רבות זה לא מעשי בכלל. ובכגון דא אמרינן סוף מעשה במחשבה תחילה.

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

          כתבתי בקיצור, יש דוגמא נחמדה ש-@clickone פעם הכין, ראה כאן: https://tchumim.com/topic/474/סינון-מרובה/11

          עריכה: מה שמופיע שם זה לא בדיוק המקרה שלך, כי שם מסננים עמודה יחידה על פי מספר ערכים נבחרים:

          Where City In('ירושלים', 'צפת',....)
          

          אבל הרעיון של בניית SQL דינמי ממומש שם. במקרה שלך הערכים הנבחרים יהיו שמות העמודות, כלומר:

          SELECT Year2017, Year2023 FROM ...
          
          חייםיודלביץח תגובה 1 תגובה אחרונה
          4
          • חייםיודלביץח מנותק
            חייםיודלביץח מנותק
            חייםיודלביץ
            השיב לOdedDvir ב נערך לאחרונה על ידי חייםיודלביץ
            #5

            @OdedDvir
            זה תוכנה ישנה שבניתי לפני הרבה שנים לפני שהיה לי בכלל מושגים במבנה טבלאות תקין.

            @OdedDvir כתב באקסס | מה הדרך הנכונה והמהירה לשינוי מקור פקד ע"י המשתמש?:

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

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

            @OdedDvir כתב באקסס | מה הדרך הנכונה והמהירה לשינוי מקור פקד ע"י המשתמש?:

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

            כתבתי בקיצור, יש דוגמא נחמדה ש-@clickone פעם הכין, ראה כאן: https://tchumim.com/topic/474/סינון-מרובה/11

            הפתרון נראה מעולה, תודה!

            עריכה:

            @OdedDvir כתב באקסס | מה הדרך הנכונה והמהירה לשינוי מקור פקד ע"י המשתמש?:

            אבל הרעיון של בניית SQL דינמי ממומש שם. במקרה שלך הערכים הנבחרים יהיו שמות העמודות, כלומר:

            SELECT Year2017, Year2023 FROM ...

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

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

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

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

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