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

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

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

לולאה באקסס|עם בדיקה האם ערך מסויים מסומן בתיבת בחירה.

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

    יש לי קובץ אקסס שבו טבלא עם כ250 אנשים שמסווגים באופנים שונים.
    למשל:

    cd82479b-5d81-4c6e-9433-5f36bc8ca681-image.png

    (כאן רואים שת.ז. 442354360 גם גר באלעד, גם למד גמרא גם משנה וגם למד בבין הזמנים).

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

    למשל בדוגמא כאן :
    הוא גר באלעד זה פרט ראשון אז יש לו 100 שקל.
    הוא לומד גמרא יש לו כבר 150
    הוא לומד משנה יש לו כבר 200
    והוא גם לומד בבין הזמנים יש לו 300
    ואז בטבלא השניה יירשם הת.ז. ועמודה ליד את המספר 300.

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

    if "אלעד" != null
    

    ?

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

    כיף לגלות דברים חדשים.
    חוק ה-50-50-90: בכל פעם שיש סיכוי של 50-50 שמשהו יעבוד, יש סיכוי של 90 אחוז שהוא לא. מקור

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

      @צבי-ש לא ציינת כיצד עשית את הלולאה.
      הנה דוגמא לקוד אפשרי, שסורק את הטבלה People.
      עבור כל רשומה, הוא בודק השדה אלעד, ואם הוא מסומן, הוא מוסיף 100 לתוצאה.
      באופן דומה הוא סורק את הערך בשדה גמרא ומגדיל את התוצאה ב-50 אם הוא מסומן.
      לבסוף הוא שומר את התוצאה בשדה תוצאה.

      Public Sub ScanRecords()
        Dim rs As DAO.Recordset
        Dim amount As Integer
        Set rs = CurrentDb.OpenRecordset("People", dbOpenDynaset, dbSeeChanges)
        With rs
          While Not .EOF
              amount = 0
              If Nz(.Fields("אלעד").Value, False) Then
                  amount = amount + 100
              End If
              If Nz(.Fields("גמרא").Value, False) Then
                          amount = amount + 50
              End If
               ' Save the value in the record
              .Edit
              .Fields("תוצאה").Value = amount
              .Update
              .MoveNext
          Wend
          .Close
        End With
      End Sub
      

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

      צבי-שצ תגובה 1 תגובה אחרונה
      2
      • צבי-שצ מחובר
        צבי-שצ מחובר
        צבי-ש
        השיב לOdedDvir ב נערך לאחרונה על ידי
        #3

        @OdedDvir אמר בלולאה באקסס|עם בדיקה האם ערך מסויים מסומן בתיבת בחירה.:

        עבור כל רשומה, הוא בודק השדה אלעד, ואם הוא מסומן, הוא מוסיף 100 לתוצאה.
        באופן דומה הוא סורק את הערך בשדה גמרא ומגדיל את התוצאה ב-50 אם הוא מסומן.

        תודה!
        אבל זה קצת צריך שינוי.
        כי אני לא יודע האם הוא מאלעד, ירושלים , או ביתר...
        יש לי 7 רשומות שכולם אותו דבר כלומר הוא יכול להיות מסומן בכולם\ חלקם ויכול לא להיות מסומן בכלל וחוץ מזה יש לי ערך שמיני שהוא מוסיף 100.

        כלומר אני לא יודע מה הערך הראשון שאותו להגדיר כ100 ואת השאר כ50 . אני רוצה שעל הנתון הראשון יביא 100 , השאר 50, ועוד מישהו שמוסיף 100.

        כיף לגלות דברים חדשים.
        חוק ה-50-50-90: בכל פעם שיש סיכוי של 50-50 שמשהו יעבוד, יש סיכוי של 90 אחוז שהוא לא. מקור

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

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

          amount = 50 + amount * 50
          

          לגבי השדה "המיוחד" שמוסיף 100, תבדוק אותו בסוף ואם הוא מסומן - תוסיף 100.

          תגובה 1 תגובה אחרונה
          2
          • צבי-שצ מחובר
            צבי-שצ מחובר
            צבי-ש
            כתב ב נערך לאחרונה על ידי
            #5

            @OdedDvir תודה!
            אגב, איך אני בודק אם הוא לא מסומן ?
            זה אם הוא מסומן

            If Nz(.Fields("גמרא").Value, False) Then
            

            ואיך אם הוא לא מסומן?

            כיף לגלות דברים חדשים.
            חוק ה-50-50-90: בכל פעם שיש סיכוי של 50-50 שמשהו יעבוד, יש סיכוי של 90 אחוז שהוא לא. מקור

            OdedDvirO תגובה 1 תגובה אחרונה
            0
            • OdedDvirO מנותק
              OdedDvirO מנותק
              OdedDvir
              השיב לצבי-ש ב נערך לאחרונה על ידי
              #6

              @צבי-ש אמר בלולאה באקסס|עם בדיקה האם ערך מסויים מסומן בתיבת בחירה.:

              ואיך אם הוא לא מסומן?

              If Not Nz(.Fields("גמרא").Value, False) Then
              

              או שאפשר לבדוק את שניהם:

              If Nz(.Fields("גמרא").Value, False) Then
              ' Do something if true
              Else
              ' Do something else if false
              End If
              
              תגובה 1 תגובה אחרונה
              3
              • dovidD dovid העביר נושא זה מ-תכנות ב-

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

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

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