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

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

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

אקסס | RecordCount מחזיר ערך לא נכון

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

    כבר קרה לי כמה פעמים שאקסס משתגע ומוסיף או מחסיר כמה רשומות ממספר הרשומות בגישה דרך VBA:

    RS.RecordCount
    

    לא עוזר להוסיף לפני כן:

    If RS.EOF And RS.BOF Then RS.MoveLast
    

    כי כשהטבלה ריקה זה פשוט מחזיר שגיאה שהרשומה לא קיימת.
    וזה מחזיר RecordCount של 23.

    במקרה אחר, שזה הציג פחות ממה שיש באמת, אז לאחר מחיקת כל הרשומות, זה הציג לי RecordCount: -3 🙂

    מה עושים?

    בדקתי ב 2 גרסאות, 2010 ו 365.

    WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

    תגובה 1 תגובה אחרונה
    0
    • OdedDvirO
      OdedDvirO
      OdedDvir
      כתב ב נערך לאחרונה על ידי
      #2

      כנראה שהטופס עוד לא סיים לטעון את כל ה RS
      תנסה לזוז קודם לרשומה האחרונה ואז לאחזר את הערך של RecordCount
      if rs.eof then
      result = 0
      else
      rs.MoveLast
      result = rs.RecordCount

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

        @WWW אמר באקסס | RecordCount מחזיר ערך לא נכון:

        לא עוזר להוסיף לפני כן:
        If RS.EOF And RS.BOF Then RS.MoveLast

        כי כשהטבלה ריקה זה פשוט מחזיר שגיאה שהרשומה לא קיימת.
        וזה מחזיר RecordCount של 23.

        צריך להיות IF NOT

        @WWW אמר באקסס | RecordCount מחזיר ערך לא נכון:

        במקרה אחר, שזה הציג פחות ממה שיש באמת, אז לאחר מחיקת כל הרשומות, זה הציג לי RecordCount: -3

        כמה הוא החסיר לפני שמחקת את כל הרשומות,
        אם הוא החסיר 3 ייתכן שיש איזה שורה מפוספסת שמחסירה 3...

        WWWW 2 תגובות תגובה אחרונה
        0
        • מלאמ מלא

          @WWW אמר באקסס | RecordCount מחזיר ערך לא נכון:

          לא עוזר להוסיף לפני כן:
          If RS.EOF And RS.BOF Then RS.MoveLast

          כי כשהטבלה ריקה זה פשוט מחזיר שגיאה שהרשומה לא קיימת.
          וזה מחזיר RecordCount של 23.

          צריך להיות IF NOT

          @WWW אמר באקסס | RecordCount מחזיר ערך לא נכון:

          במקרה אחר, שזה הציג פחות ממה שיש באמת, אז לאחר מחיקת כל הרשומות, זה הציג לי RecordCount: -3

          כמה הוא החסיר לפני שמחקת את כל הרשומות,
          אם הוא החסיר 3 ייתכן שיש איזה שורה מפוספסת שמחסירה 3...

          WWWW
          WWWW
          WWW
          כתב ב נערך לאחרונה על ידי
          #4

          @מלא אמר באקסס | RecordCount מחזיר ערך לא נכון:

          אם הוא החסיר 3 ייתכן שיש איזה שורה מפוספסת שמחסירה 3...

          מה הכוונה?

          WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

          מלאמ תגובה 1 תגובה אחרונה
          0
          • מלאמ מלא

            @WWW אמר באקסס | RecordCount מחזיר ערך לא נכון:

            לא עוזר להוסיף לפני כן:
            If RS.EOF And RS.BOF Then RS.MoveLast

            כי כשהטבלה ריקה זה פשוט מחזיר שגיאה שהרשומה לא קיימת.
            וזה מחזיר RecordCount של 23.

            צריך להיות IF NOT

            @WWW אמר באקסס | RecordCount מחזיר ערך לא נכון:

            במקרה אחר, שזה הציג פחות ממה שיש באמת, אז לאחר מחיקת כל הרשומות, זה הציג לי RecordCount: -3

            כמה הוא החסיר לפני שמחקת את כל הרשומות,
            אם הוא החסיר 3 ייתכן שיש איזה שורה מפוספסת שמחסירה 3...

            WWWW
            WWWW
            WWW
            כתב ב נערך לאחרונה על ידי WWW
            #5

            @מלא אמר באקסס | RecordCount מחזיר ערך לא נכון:

            צריך להיות IF NOT

            מצאתי את זה ברשת, מעניין.
            בכל אופן זה לא עזר, גם בלי IF.

            WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

            תגובה 1 תגובה אחרונה
            0
            • WWWW WWW

              @מלא אמר באקסס | RecordCount מחזיר ערך לא נכון:

              אם הוא החסיר 3 ייתכן שיש איזה שורה מפוספסת שמחסירה 3...

              מה הכוונה?

              מלאמ
              מלאמ
              מלא
              כתב ב נערך לאחרונה על ידי
              #6

              @WWW אמר באקסס | RecordCount מחזיר ערך לא נכון:

              @מלא אמר באקסס | RecordCount מחזיר ערך לא נכון:

              אם הוא החסיר 3 ייתכן שיש איזה שורה מפוספסת שמחסירה 3...

              מה הכוונה?

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

              כאן בסעיף 3 הם כותבים שהא מחזיר 100% אמת...

              WWWW תגובה 1 תגובה אחרונה
              0
              • מלאמ מלא

                @WWW אמר באקסס | RecordCount מחזיר ערך לא נכון:

                @מלא אמר באקסס | RecordCount מחזיר ערך לא נכון:

                אם הוא החסיר 3 ייתכן שיש איזה שורה מפוספסת שמחסירה 3...

                מה הכוונה?

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

                כאן בסעיף 3 הם כותבים שהא מחזיר 100% אמת...

                WWWW
                WWWW
                WWW
                כתב ב נערך לאחרונה על ידי
                #7

                @מלא אמר באקסס | RecordCount מחזיר ערך לא נכון:

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

                ברור שזה מוזר.

                הוא החזיר נראה לי כל הזמן 3 פחות, ואז ב 0 הוא תרגם ל -3 ...

                WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                תגובה 1 תגובה אחרונה
                0
                • OdedDvirO
                  OdedDvirO
                  OdedDvir
                  כתב ב נערך לאחרונה על ידי
                  #8

                  אני חושב שזה בגלל שבVBA כל משפט IF בודק את כל התנאים שב-AND יחד, גם אם הראשון FALSE.
                  תנסה להפריד את התנאים, ולבדוק אחד אחד:
                  If RS.EOF then
                  result =0
                  else
                  RS.Movelast
                  result = RS.recordCount
                  end if

                  WWWW תגובה 1 תגובה אחרונה
                  0
                  • OdedDvirO OdedDvir

                    אני חושב שזה בגלל שבVBA כל משפט IF בודק את כל התנאים שב-AND יחד, גם אם הראשון FALSE.
                    תנסה להפריד את התנאים, ולבדוק אחד אחד:
                    If RS.EOF then
                    result =0
                    else
                    RS.Movelast
                    result = RS.recordCount
                    end if

                    WWWW
                    WWWW
                    WWW
                    כתב ב נערך לאחרונה על ידי
                    #9

                    @OdedDvir גם כשאני כותב RS.Movelast בלי IF, זה לא עוזר.

                    עכשיו הטבלה ריקה לגמרי
                    וזה מציג לי 75...

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

                    אני מאמין שדחוס ותקן יפתור את הבעיה.

                    אבל זה קובץ ענק אין לי זמן לזה 😞

                    WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                    תגובה 1 תגובה אחרונה
                    0
                    • OdedDvirO
                      OdedDvirO
                      OdedDvir
                      כתב ב נערך לאחרונה על ידי
                      #10

                      יש לי רעיון:
                      אם אתה צריך רק את מספר הרשומות, אולי DCount יעזור?
                      עוד רעיון
                      אולי תריץ שאילתת יצירת טבלה, ותכניס רק עמודה אחת לתוכה (אם אתה צריך רק את מספר הרשומות), ותבדוק כמה שורות יש בה
                      SELECT [id] INTO [NewTable] FROM [TableName]
                      ותבדוק כמה רשומות יש ב-NewTable

                      תגובה 1 תגובה אחרונה
                      1
                      • OdedDvirO
                        OdedDvirO
                        OdedDvir
                        כתב ב נערך לאחרונה על ידי
                        #11

                        עוד כיוון:
                        איך את פותח את ה-RS? מה פקודת OpenRecordset?
                        תנסה להוסיף את הדגל dbReadOnly או dbOpenSnapshot

                        WWWW תגובה 1 תגובה אחרונה
                        2
                        • OdedDvirO OdedDvir

                          עוד כיוון:
                          איך את פותח את ה-RS? מה פקודת OpenRecordset?
                          תנסה להוסיף את הדגל dbReadOnly או dbOpenSnapshot

                          WWWW
                          WWWW
                          WWW
                          כתב ב נערך לאחרונה על ידי WWW
                          #12

                          @OdedDvir אמר באקסס | RecordCount מחזיר ערך לא נכון:

                          dbOpenSnapshot

                          עזר!
                          עדכון:
                          לא עזר, כעת זה מציג לי על 7000 רשומות 1.

                          WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                          OdedDvirO תגובה 1 תגובה אחרונה
                          0
                          • WWWW WWW

                            @OdedDvir אמר באקסס | RecordCount מחזיר ערך לא נכון:

                            dbOpenSnapshot

                            עזר!
                            עדכון:
                            לא עזר, כעת זה מציג לי על 7000 רשומות 1.

                            OdedDvirO
                            OdedDvirO
                            OdedDvir
                            כתב ב נערך לאחרונה על ידי
                            #13

                            @WWW מה פקודת OpenRecordset שאתה משתמש בה?

                            WWWW תגובה 1 תגובה אחרונה
                            0
                            • OdedDvirO OdedDvir

                              @WWW מה פקודת OpenRecordset שאתה משתמש בה?

                              WWWW
                              WWWW
                              WWW
                              כתב ב נערך לאחרונה על ידי
                              #14

                              @OdedDvir

                              CurrentDb.OpenRecordset("A")
                              

                              WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                              תגובה 1 תגובה אחרונה
                              0
                              • OdedDvirO
                                OdedDvirO
                                OdedDvir
                                כתב ב נערך לאחרונה על ידי
                                #15

                                תנסה OpenRecordset("A", dbOpenSnapshot, dbReadOnly)

                                תגובה 1 תגובה אחרונה
                                0
                                • OdedDvirO
                                  OdedDvirO
                                  OdedDvir
                                  כתב ב נערך לאחרונה על ידי
                                  #16

                                  או OpenRecordset("A", dbPessimistic, dbReadOnly)

                                  WWWW תגובה 1 תגובה אחרונה
                                  0
                                  • OdedDvirO OdedDvir

                                    או OpenRecordset("A", dbPessimistic, dbReadOnly)

                                    WWWW
                                    WWWW
                                    WWW
                                    כתב ב נערך לאחרונה על ידי
                                    #17

                                    @OdedDvir אמר באקסס | RecordCount מחזיר ערך לא נכון:

                                    או OpenRecordset("A", dbPessimistic, dbReadOnly)
                                    תנסה OpenRecordset("A", dbOpenSnapshot, dbReadOnly)

                                    כנ"ל מחזיר 1.

                                    WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                                    OdedDvirO תגובה 1 תגובה אחרונה
                                    0
                                    • WWWW WWW

                                      @OdedDvir אמר באקסס | RecordCount מחזיר ערך לא נכון:

                                      או OpenRecordset("A", dbPessimistic, dbReadOnly)
                                      תנסה OpenRecordset("A", dbOpenSnapshot, dbReadOnly)

                                      כנ"ל מחזיר 1.

                                      OdedDvirO
                                      OdedDvirO
                                      OdedDvir
                                      כתב ב נערך לאחרונה על ידי
                                      #18

                                      @WWW וואו איזה תיסכול
                                      ניסית ליצור טבלת עזר ולספור את הרשומות שם (כמו שהצעתי למעלה)?
                                      או אולי במקום שם הטבלה "A" תכניס שאילתא (זה יוצר עותק של הטבלה)
                                      set RS = currentdb.OpenRecordset("SELECT id FROM A", dbOpenSnapshot, dbReadOnly)

                                      WWWW תגובה 1 תגובה אחרונה
                                      0
                                      • OdedDvirO OdedDvir

                                        @WWW וואו איזה תיסכול
                                        ניסית ליצור טבלת עזר ולספור את הרשומות שם (כמו שהצעתי למעלה)?
                                        או אולי במקום שם הטבלה "A" תכניס שאילתא (זה יוצר עותק של הטבלה)
                                        set RS = currentdb.OpenRecordset("SELECT id FROM A", dbOpenSnapshot, dbReadOnly)

                                        WWWW
                                        WWWW
                                        WWW
                                        כתב ב נערך לאחרונה על ידי
                                        #19

                                        @OdedDvir אמר באקסס | RecordCount מחזיר ערך לא נכון:

                                        set RS = currentdb.OpenRecordset("SELECT id FROM A", dbOpenSnapshot, dbReadOnly)

                                        ניסיתי כבר בהתחלה.
                                        לא עזר.

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

                                        WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

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

                                        שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

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

                                        בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                                        הרשמה התחברות
                                        תגובה
                                        • תגובה כנושא
                                        התחברו כדי לפרסם תגובה
                                        • מהישן לחדש
                                        • מהחדש לישן
                                        • הכי הרבה הצבעות


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

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

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