ניווט

    תחומים
    • הרשמה
    • התחברות
    • חיפוש
    • קטגוריות
    • פוסטים אחרונים
    • משתמשים
    • חיפוש
    • מקצועות
    חוקי הפורום

    שגיאה באקסס 2465 | שגיאה מוגדרת יישום או מוגדרת אובייקט

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

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

      Public Function vb_HidesFieldsDonates(TrueOfFalse As Integer)
          'ñëåí úøåîä
              Forms.board.TextBoxDonationAmount.Visible = TrueOfFalse
              Forms.board.LabelDonationAmount.Visible = TrueOfFalse
          'ñåâ îèáò
              Forms.board.TextBoxCurrency.Visible = TrueOfFalse
         'àåôï äúøåîä
              Forms.board.TextBoxDonationType.Visible = TrueOfFalse
              Forms.board.LabelDonationType.Visible = TrueOfFalse
          'äòøåú úøåîä
              Forms.board.TextBoxRemarksDonates.Visible = TrueOfFalse
              Forms.board.LabelRemarksDonates.Visible = TrueOfFalse
          'ô÷ã ÷áìú îñ
              Forms.board.CheckboxTaxReceipts.Visible = TrueOfFalse
              Forms.board.LabelTaxReceipts.Visible = TrueOfFalse
      End Function
      

      ומשום מה בשורה 8 קופצת לו שגיאה כזו
      552d9e5f-530c-4009-9695-b5e48b8fb2a5-image.png

      93693941-35a8-43ee-b3c8-889f6fe734f1-image.png
      והשגיאה הזו קופצת לו רק בשורה הזו לפני ואחרי הכל עובד טוב

      הפקד קיים (כך שזו לא הבעיה)
      3ed1dbb9-f3f3-45ca-8502-d0b3ba6a1d8c-image.png

      זה העזרה שאקסס מביא אבל גם שם לא הצלחתי להבין למה מגיעה השגיאה הזו

      אשמח להבין מן המומחים למה ומהי השגיאה הזו...
      תודה רבה מראש 👍

      OdedDvir S 2 תגובות תגובה אחרונה תגובה ציטוט 0
      • OdedDvir
        OdedDvir תכנות @אוריי נערך לאחרונה על ידי

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

        Public Function vb_HidesFieldsDonates(TrueOfFalse As Integer)
        
            'ñëåí úøåîä
                Me.TextBoxDonationAmount.Visible = TrueOfFalse
                Me.LabelDonationAmount.Visible = TrueOfFalse
        
            'ñåâ îèáò
                Me.TextBoxCurrency.Visible = TrueOfFalse
        ...
        
        אוריי תגובה 1 תגובה אחרונה תגובה ציטוט 1
        • אוריי
          אוריי @OdedDvir נערך לאחרונה על ידי

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

          OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • OdedDvir
            OdedDvir תכנות @אוריי נערך לאחרונה על ידי

            @אוריי איזו שגיאה?

            אוריי תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • אוריי
              אוריי @OdedDvir נערך לאחרונה על ידי

              @odeddvir
              9b026526-30c5-4f1e-837f-e2c075685b55-image.png

              OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
              • OdedDvir
                OdedDvir תכנות @אוריי נערך לאחרונה על ידי

                @אוריי תעלה צילום של הקוד שהדבקת בטופס בבקשה.

                אוריי תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • אוריי
                  אוריי @OdedDvir נערך לאחרונה על ידי אוריי

                  @odeddvir
                  אותו הדבר בדיוק כמו שכתבתי בפוסט הראשון

                  סורי
                  כתבתי כך

                  Public Function vb_HidesFieldsDonates(TrueOfFalse As Integer)
                      'ñëåí úøåîä
                          Me!TextBoxDonationAmount.Visible = TrueOfFalse
                          Me!LabelDonationAmount.Visible = TrueOfFalse
                      'ñåâ îèáò
                          Me!TextBoxCurrency.Visible = TrueOfFalse
                     'àåôï äúøåîä
                          Me!TextBoxDonationType.Visible = TrueOfFalse
                          Me!LabelDonationType.Visible = TrueOfFalse
                      'äòøåú úøåîä
                          Me!TextBoxRemarksDonates.Visible = TrueOfFalse
                          Me!LabelRemarksDonates.Visible = TrueOfFalse
                      'ô÷ã ÷áìú îñ
                          Me!CheckboxTaxReceipts.Visible = TrueOfFalse
                          Me!LabelTaxReceipts.Visible = TrueOfFalse
                  End Function
                  

                  אבל זה לא כזה משנה כי הוא אפי' לא נכנס לריצת הקוד
                  אלא פשוט מחזיר שגיאה

                  OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • OdedDvir
                    OdedDvir תכנות @אוריי נערך לאחרונה על ידי

                    @אוריי ומתי אתה מקבל את ההערה, בזמן הקימפול? או בזמן הריצה? ובאיזו שורה?

                    אוריי תגובה 1 תגובה אחרונה תגובה ציטוט 0
                    • אוריי
                      אוריי @OdedDvir נערך לאחרונה על ידי אוריי

                      @odeddvir
                      עוד לפני שהוא נכנס לריצה של הפונקציה
                      כאשר עשיתי למטה אנטר כדי להריץ את הפונקציה הוא הקפיץ את ההודעה
                      06d2ba9d-c692-4cd5-ab74-a844f6f0497e-image.png

                      OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • OdedDvir
                        OdedDvir תכנות @אוריי נערך לאחרונה על ידי OdedDvir

                        @אוריי ברור. הקוד שבטופס הוא מחלקה (Class). אתה לא יכול להריץ פונקציה ישירות מתוך מחלקה.
                        צור לחצן זמני בטופס שמריץ את הפונקציה ותבדוק.

                        אוריי תגובה 1 תגובה אחרונה תגובה ציטוט 1
                        • אוריי
                          אוריי @OdedDvir נערך לאחרונה על ידי אוריי

                          @odeddvir
                          עכשיו הוא מחזיר שגיאה שהוא לא מוצא את השדה
                          70984de2-7bb6-4865-9a6f-051ade74d960-image.png
                          feddc774-3afb-43ae-951a-71a5770d1889-image.png

                          והשדה כן נמצא 🤔

                          OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
                          • OdedDvir
                            OdedDvir תכנות @אוריי נערך לאחרונה על ידי

                            @אוריי נראה לי פשוט שגיאת כתיב. תבדוק טוב.

                            אוריי תגובה 1 תגובה אחרונה תגובה ציטוט 1
                            • אוריי
                              אוריי @OdedDvir נערך לאחרונה על ידי אוריי

                              @odeddvir אמר בשגיאה באקסס 2465 | שגיאה מוגדרת יישום או מוגדרת אובייקט:

                              @אוריי נראה לי פשוט שגיאת כתיב. תבדוק טוב.

                              חיפשתי טוב ולא מצאתי 😮 😮 🤓 🤓
                              550b0f2c-d61a-484b-8d77-0291009126aa-image.png

                              6e72fee2-b906-4d84-89ab-323bc8dcb471-image.png

                              עריכה: ניסיתי אפי' לשנות את השם וללא הצלחה
                              ראוי לציין שהפקד הזה הוא תיבה משולבת (שכחתי לציין בפוסט הראשון)
                              וזה לא סתם נשכח ממני כי יש עוד תיבה משולבת שזה כן עובד עליה (א"כ אז למה הוא נתקע).... 😞

                              OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
                              • OdedDvir
                                OdedDvir תכנות @אוריי נערך לאחרונה על ידי OdedDvir

                                @אוריי קודם כל טיפ:
                                כשאתה ניגש לפקד של הטופס, תשתמש בנקודה ולא בסימן קריאה:

                                Me.SomeControlName
                                

                                ולא

                                Me!SomeControlName
                                

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

                                תשנה עכשיו את הקוד בפונקציה, ותראה אם יש הודעת שגיאה.

                                אוריי clickone 2 תגובות תגובה אחרונה תגובה ציטוט 3
                                • אוריי
                                  אוריי @OdedDvir נערך לאחרונה על ידי

                                  @odeddvir
                                  תודה על הטיפ!! זה די עוזר
                                  גם אני הרבה משתמש אבל עד עכשיו לא שמתי לזה חשיבות
                                  לעניינינו באמת ה Intellisense לא מוצא את השדה ולמה ??? ממה זה יכול להיות??

                                  OdedDvir תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                  • OdedDvir
                                    OdedDvir תכנות @אוריי נערך לאחרונה על ידי

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

                                    תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                    • S
                                      Shmuel754 @אוריי נערך לאחרונה על ידי

                                      @אוריי
                                      האם בפקד שאתה מנסה להסתיר נמצא בפוקוס, או שמקבל פוקוס לאחר שאתה מסתיר את הקודמים?

                                      תעביר את הפוקוס למיקום מחוץ לפקדים שאתה מטפל בהם.

                                      אוריי תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                      • אוריי
                                        אוריי @Shmuel754 נערך לאחרונה על ידי

                                        @shmuel754

                                        @odeddvir אמר בשגיאה באקסס 2465 | שגיאה מוגדרת יישום או מוגדרת אובייקט:

                                        פנה אלי בפרטי ואנסה לעזור.

                                        את האמת @OdedDvir עזר לי בפרטי
                                        הבעיה הייתה איזה סוג של באג לא ברור באקסס שהוא לא זיהה את שם השדה
                                        לאחר משחק בשם של השדה האקסס חזר לזהות אותו

                                        @shmuel754 אמר בשגיאה באקסס 2465 | שגיאה מוגדרת יישום או מוגדרת אובייקט:

                                        האם בפקד שאתה מנסה להסתיר נמצא בפוקוס

                                        למה כוונתך פוקוס??

                                        מלא תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                        • מלא
                                          מלא @אוריי נערך לאחרונה על ידי מלא

                                          @אוריי אמר בשגיאה באקסס 2465 | שגיאה מוגדרת יישום או מוגדרת אובייקט:

                                          למה כוונתך פוקוס??

                                          שהסמן עומד עליו.
                                          אי אפשר להסתיר כשהוא בפוקוס
                                          https://docs.microsoft.com/en-us/office/vba/api/access.textbox.setfocus

                                          אוריי תגובה 1 תגובה אחרונה תגובה ציטוט 2
                                          • אוריי
                                            אוריי @מלא נערך לאחרונה על ידי אוריי

                                            @מלא אמר בשגיאה באקסס 2465 | שגיאה מוגדרת יישום או מוגדרת אובייקט:

                                            @אוריי אמר בשגיאה באקסס 2465 | שגיאה מוגדרת יישום או מוגדרת אובייקט:

                                            למה כוונתך פוקוס??

                                            שהסמן עומד עליו.
                                            אי אפשר להסתיר כשהוא בפוקוס
                                            https://docs.microsoft.com/en-us/office/vba/api/access.textbox.setfocus

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

                                            @OdedDvir @Shmuel754 @מלא
                                            הרבה תודה על העזרה... 👍

                                            תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                            • clickone
                                              clickone @OdedDvir נערך לאחרונה על ידי clickone

                                              @odeddvir אמר בשגיאה באקסס 2465 | שגיאה מוגדרת יישום או מוגדרת אובייקט:

                                              כשאתה ניגש לפקד של הטופס, תשתמש בנקודה ולא בסימן קריאה:
                                              Me.SomeControlName

                                              ולא
                                              Me!SomeControlName

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

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

                                              (זה אמנם לא קשור לנושא ישירות, אבל ש @אוריי והשאר ישימו לב שזה לא מייצר להם בעיות אחרות....)

                                              לגבי ההשלמה אני אכן משתמש במקרים האלו בקונרול רווח

                                              OdedDvir zvinissim 2 תגובות תגובה אחרונה תגובה ציטוט 1
                                              • OdedDvir
                                                OdedDvir תכנות @clickone נערך לאחרונה על ידי OdedDvir

                                                @clickone אמר בשגיאה באקסס 2465 | שגיאה מוגדרת יישום או מוגדרת אובייקט:

                                                לא זוכר כבר למה, אבל היה לזה בעיות (אולי רק בעבר)

                                                יש באג אחד שקיים עד היום, והוא: כאשר מוסיפים שדות בטבלה שהטופס מבוסס עליה, ה-Intellisense לא מכיר את השדות החדשים ולא מייבא אותם על ידי הנקודה, ואפילו לא מאפשר לקמפל את הקוד אם השתמשת בהם בקוד... 😲
                                                זה היה מוציא אותי מדעתי.
                                                הפתרון הוא למחוק את מקור הרשומה מהטופס (דהיינו להפוך את הטופס ללא מאוגד) ואחר כך להקליד אותו שוב. ואז אקסס מעדכנת את רשימת השדות של הטופס ב-VBA.

                                                תגובה 1 תגובה אחרונה תגובה ציטוט 4
                                                • zvinissim
                                                  zvinissim @clickone נערך לאחרונה על ידי

                                                  @clickone אמר בשגיאה באקסס 2465 | שגיאה מוגדרת יישום או מוגדרת אובייקט:

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

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

                                                  clickone תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                                  • clickone
                                                    clickone @zvinissim נערך לאחרונה על ידי

                                                    @zvinissim נקודה אחרי Me ייתן לך גם את שמות הפקדים - ובדיוק על זה דבריו של @OdedDvir

                                                    תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                                    • 1 / 1
                                                    • First post
                                                      Last post
                                                    בא תתחבר לדף היומי!