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

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

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

המאפיין CurrentRecord מזייף

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

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

    כתבתי קוד כזה

        GoPrevious.Enabled = CurrentRecord <> 1
        GoNext.Enabled = CurrentRecord <> RecordsetClone.RecordCount
    

    אבל משום מה כאשר אני פותח את הטופס מתוך טופס אחר שמכיל את הרשומות בצורה של טפסים רציפים ואני עושה בתוכו חיפוש (על ידי bookmark ב RecordSetClone) פתאום הוא משתבש ולפעמים חוסם את הכפתור הנ"ל למרות שהוא לא הראשון וכן להיפך
    אשמח להכוונה
    תודה!

    OdedDvirO תגובה 1 תגובה אחרונה
    0
    • מומחה באקססמ מומחה באקסס

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

      כתבתי קוד כזה

          GoPrevious.Enabled = CurrentRecord <> 1
          GoNext.Enabled = CurrentRecord <> RecordsetClone.RecordCount
      

      אבל משום מה כאשר אני פותח את הטופס מתוך טופס אחר שמכיל את הרשומות בצורה של טפסים רציפים ואני עושה בתוכו חיפוש (על ידי bookmark ב RecordSetClone) פתאום הוא משתבש ולפעמים חוסם את הכפתור הנ"ל למרות שהוא לא הראשון וכן להיפך
      אשמח להכוונה
      תודה!

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

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

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

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

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

        @odeddvir משום מה לרוב מופיע RecordCount גדול מהאמיתי, מה הסיבה לכך?

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

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

          @odeddvir משום מה לרוב מופיע RecordCount גדול מהאמיתי, מה הסיבה לכך?

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

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

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

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

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

            @odeddvir אני מדבר בלי ריבוי משתמשים, רק בטבלה עם מאות אלפי שורות..

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

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

              @odeddvir אני מדבר בלי ריבוי משתמשים, רק בטבלה עם מאות אלפי שורות..

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

              @www מעניין. מהי הפקודה שבה אתה משתמש לפתיחת ה-RS?

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

                @www מעניין. מהי הפקודה שבה אתה משתמש לפתיחת ה-RS?

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

                @odeddvir אמר בהמאפיין CurrentRecord מזייף:

                @www מעניין. מהי הפקודה שבה אתה משתמש לפתיחת ה-RS?

                    Dim NN As Recordset
                    Set NN = CurrentDb.OpenRecordset("NN")
                    If Not NN.EOF And NN.BOF Then NN.MoveLast
                    MsgBox NN.RecordCount
                    
                    For n = 1 To NN.RecordCount
                
                

                אני רואה כרגע שכבר ניסיתי בעבר לשים MoveLast, וזה לא עזר...

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

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

                  @odeddvir אמר בהמאפיין CurrentRecord מזייף:

                  @www מעניין. מהי הפקודה שבה אתה משתמש לפתיחת ה-RS?

                      Dim NN As Recordset
                      Set NN = CurrentDb.OpenRecordset("NN")
                      If Not NN.EOF And NN.BOF Then NN.MoveLast
                      MsgBox NN.RecordCount
                      
                      For n = 1 To NN.RecordCount
                  
                  

                  אני רואה כרגע שכבר ניסיתי בעבר לשים MoveLast, וזה לא עזר...

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

                  @www אמר בהמאפיין CurrentRecord מזייף:

                  If Not NN.EOF And NN.BOF Then NN.MoveLast
                  

                  השורה הזו נראית שגויה, כי בפתיחה של RecordSet שמכיל לפחות רשומה אחת, התנאי יחזיר False ולא יבוצע MoveLast, כי Not קודם ל-And, לכן הקוד מתפרש כך:

                  If (Not NN.EOF) And (NN.BOF) Then NN.MoveLast
                  

                  אולי התכוונת כך:

                  If Not NN.EOF And Not NN.BOF Then NN.MoveLast
                  

                  שפירושו כך:

                  If (Not NN.EOF) And (Not NN.BOF) Then NN.MoveLast
                  
                  WWWW תגובה 1 תגובה אחרונה
                  0
                  • OdedDvirO OdedDvir

                    @www אמר בהמאפיין CurrentRecord מזייף:

                    If Not NN.EOF And NN.BOF Then NN.MoveLast
                    

                    השורה הזו נראית שגויה, כי בפתיחה של RecordSet שמכיל לפחות רשומה אחת, התנאי יחזיר False ולא יבוצע MoveLast, כי Not קודם ל-And, לכן הקוד מתפרש כך:

                    If (Not NN.EOF) And (NN.BOF) Then NN.MoveLast
                    

                    אולי התכוונת כך:

                    If Not NN.EOF And Not NN.BOF Then NN.MoveLast
                    

                    שפירושו כך:

                    If (Not NN.EOF) And (Not NN.BOF) Then NN.MoveLast
                    
                    WWWW מנותק
                    WWWW מנותק
                    WWW
                    כתב ב נערך לאחרונה על ידי
                    #9

                    @odeddvir אני אגיד לך את האמת, עשיתי הרבה נסיונות, והקוד הזה מקורו מסטאק נראה לי, אבל כאמור לא עזר.
                    אבדוק כמו שכתבת אם זה עוזר.
                    תודה!

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

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


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

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

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