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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
19 פוסטים 3 כותבים 385 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • 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
        • WWWW מנותק
          WWWW מנותק
          WWW
          השיב למלא ב נערך לאחרונה על ידי
          #4

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

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

          מה הכוונה?

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

          מלאמ תגובה 1 תגובה אחרונה
          0
          • WWWW מנותק
            WWWW מנותק
            WWW
            השיב למלא ב נערך לאחרונה על ידי WWW
            #5

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

            צריך להיות IF NOT

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

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

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

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

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

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

              מה הכוונה?

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

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

              WWWW תגובה 1 תגובה אחרונה
              0
              • 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
                  • WWWW מנותק
                    WWWW מנותק
                    WWW
                    השיב לOdedDvir ב נערך לאחרונה על ידי
                    #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
                        • WWWW מנותק
                          WWWW מנותק
                          WWW
                          השיב לOdedDvir ב נערך לאחרונה על ידי WWW
                          #12

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

                          dbOpenSnapshot

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

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

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

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

                            WWWW תגובה 1 תגובה אחרונה
                            0
                            • WWWW מנותק
                              WWWW מנותק
                              WWW
                              השיב לOdedDvir ב נערך לאחרונה על ידי
                              #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
                                  • WWWW מנותק
                                    WWWW מנותק
                                    WWW
                                    השיב לOdedDvir ב נערך לאחרונה על ידי
                                    #17

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

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

                                    כנ"ל מחזיר 1.

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

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

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

                                      WWWW תגובה 1 תגובה אחרונה
                                      0
                                      • WWWW מנותק
                                        WWWW מנותק
                                        WWW
                                        השיב לOdedDvir ב נערך לאחרונה על ידי
                                        #19

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

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

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

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

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

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

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

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

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