שגיאה בהתנגשות כתיבה לא צפויה מתרחשת בעת סגירת טופס ב-Access

עבוד בכל מקום מכל מכשיר באמצעות Microsoft 365

שדרג ל-Microsoft 365 כדי לעבוד בכל מקום באמצעות התכונות והעדכונים האחרונים.

שדרג עכשיו

מתון: מחייב מאקרו בסיסי, קידוד וכישורי יכולת פעולה הדדית.מאמר זה חל על מסד נתונים של Microsoft access (. mdb) ובפרוייקט של Microsoft access (. adp).

תופעות

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

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

לאחר מכן, באפשרותך ללחוץ על אחד משלושת הלחצנים הבאים:

  • שמור רשומה

  • העתק ללוח

  • שינויי שחרור

סיבה

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

פתרון

כדי לעקוף אופן פעולה זה, השתמש באחת משתי השיטות המפורטות עבור קובץ מסד נתונים של Microsoft Access (. mdb) או בפעולת השירות המפורטת עבור קובץ פרוייקט של Access (. adp).

עבור קובץ מסד נתונים של Microsoft Access (. mdb)

שיטה 1

הגדר את המאפיין נעילות רשומות של הטופס כך שייערך רשומה. לשם כך, בצע את הפעולות הבאות:

  1. פתח את הטופס בתצוגת עיצוב. שים לב ב-Access 2007, עבור לשלב 3.

  2. בתפריט תצוגה , לחץ על מאפיינים.

  3. בכרטיסיה נתונים , שנה את המאפיין נעילות הרשומה כדי לערוך רשומה.

שיטה 2

הוסף קוד לשגרת האירוע OnDeactivate של שתי הצורות כדי לשמור את הרשומה. לשם כך, בצע את הפעולות הבאות:

  1. פתח את הטופס בתצוגת עיצוב. שים לב ב-Access 2007, עבור לשלב 4.

  2. בתפריט תצוגה , לחץ על מאפיינים.

  3. בתפריט עריכה , לחץ על בחר טופס.

  4. בכרטיסיה אירוע , לחץ באמצעות לחצן העכבר הימני בתיבת המאפיין ondeactivate ולאחר מכן לחץ על בנה.

  5. בתיבה בחירת בונה , לחץ על בונה קודולאחר מכן לחץ על אישור.

  6. הקלד או הדבק את הקוד הבא:

    DoCmd.RunCommand acCmdSaveRecord
  7. פתח את הטופס השני בתצוגת עיצוב וחזור על שלבים 2 עד 6.

עבור קובץ פרוייקט של Microsoft Access (. adp):

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

  1. פתח את הטופס בתצוגת עיצוב. שים לב ב-Access 2007, עבור לשלב 4.

  2. בתפריט תצוגה , לחץ על מאפיינים.

  3. בתפריט עריכה , לחץ על בחר טופס.

  4. בכרטיסיה אירוע , לחץ באמצעות לחצן העכבר הימני בתיבת המאפיין ondeactivate ולאחר מכן לחץ על בנה.

  5. בתיבה בחירת בונה , לחץ על בונה קודולאחר מכן לחץ על אישור.

  6. הקלד או הדבק את הקוד הבא:

    DoCmd.RunCommand acCmdSaveRecord
  7. בתפריט קובץ , לחץ על סגור וחזור אל Microsoft Access.

  8. בכרטיסיה אירוע , לחץ באמצעות לחצן העכבר הימני בתיבת המאפיין בעת הפעלה ולאחר מכן לחץ על בנה.

  9. בתיבה בחירת בונה , לחץ על בונה קודולאחר מכן לחץ על אישור.

  10. הקלד או הדבק את הקוד הבא:הערה הקוד לדוגמה במאמר זה משתמש באובייקטי נתוני ActiveX של Microsoft. כדי שקוד זה יפעל כראוי, עליך להפנות אל הספריה ' אובייקטים של נתוני ActiveX של Microsoft 2. x ' (כאשר 2. x הוא 2.1 או גירסה מאוחרת יותר). לשם כך, לחץ על הפניות בתפריט כלים בעורך Visual basic, וודא שתיבת הסימון הספריה ' אובייקטים של נתוני ActiveX 2. x ' של Microsoft נבחרה.

    Dim rs As ADODB.RecordsetSet rs = Me.Recordset.Cloners.Bookmark = Me.BookmarkDoCmd.RunCommand acCmdRefreshMe.Bookmark = rs.Bookmarkrs.CloseSet rs = Nothing
  11. פתח את הטופס השני בתצוגת עיצוב ולאחר מכן חזור על שלבים 2 עד 10.

מידע נוסף

שלבים לשחזור ההתנהגות ב-Access 2003

  1. פתח גישה.

  2. בתפריט עזרה , הצבע על מסדי נתונים לדוגמהולאחר מכן לחץ על מסד נתונים לדוגמה Northwind.

  3. בחלון מסד הנתונים , לחץ על טבלאות תחת אובייקטיםולאחר מכן לחץ על הטבלה Employees .

  4. בתפריט הוספה , לחץ על טופס אוטומטי.

  5. שמור את הטופס כפרקיצורים.

  6. פתח את הטופס Employees ולאחר מכן שנה את השדה שם פרטי ל- Nancy1.

  7. פתח את טופס הפרקיצורים ולאחר מכן שנה את השדה שם פרטי ל- Nancy2.

  8. . סגור את טופס הפרקיצורים

  9. סגור את הטופס Employees. שים לב שאתה מקבל את ההודעה "כתיבת התנגשות" הנזכרת בסעיף ' מאפייני העניין ' במאמר זה.

לקבלת מידע נוסף, לחץ על מספרי המאמרים שלהלן כדי להציג את המאמרים במאגר הידע Microsoft Knowledge Base:

304181 בלתי צפוי להתנגשות כתיבה שגיאה בעת סגירת טופס

280730 ACC2000: כתיבת שגיאת התנגשות בעת ניסיון לעדכן רשומות בטבלת שרת SQL מקושרת

זקוק לעזרה נוספת?

הרחב את הכישורים שלך
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Microsoft insider

האם מידע זה היה שימושי?

תודה על המשוב!

תודה על המשוב! נראה שכדאי לקשר אותך לאחד מנציגי התמיכה של Office.

×