עדכון אחרון: 23 בינואר 2020
בעיה
בעת יצירת קישור לטבלה ב-SQL Server הכולל עמודת ‘זהות‘, Access יזהה את העמודה בדרך כלל כעמודת AutoNumber.
בגירסת build החודשית הנוכחית (16.0.12325.*) של גירסה 1912 של Office 365 ו-Office 2016/2019, עמודות ‘זהות‘ אינן מזוהות כראוי, ובמקום זאת יזוהו רק כמספר.
פעולה זו תתרחש בעת יצירת קישורים חדשים דרך ממשק המשתמש או באמצעות קוד, אך רק עבור קישורים חדשים. קישורים קיימים לא יושפעו, אלא אם כן הקישור ירוענן.
Access משתמש בזיהוי הנכון של עמודת ‘זהות‘ למספר מטרות, כך שניתן להשפיע על יישומים במספר דרכים.
לדוגמה, עמודת ‘זהות‘ משמשת בדרך כלל לזיהוי רשומה חדשה שנוספה. ייתכן ש-Access לא יצליח למצוא את השורה החדשה שנוספה, כאשר עמודת ‘זהות‘ אינה בשימוש, דבר שיגרום לשדות באותה שורה להופיע כ#נמחק.
ייתכן שתראה בעיות דומות בעת שימוש במאפיין RecordSet. LastModified כדי לאחזר ערכים עבור הרשומה האחרונה שנוספה. הקוד הבא:
Set rst = CurrentDb().OpenRecordset("tblWithIdentityColumn")
rst.AddNew
rst!CompanyName = "Contoso"
rst.Update
rst.Bookmark = rst.LastModified
MsgBox rst!CompanyName
עשוי להסתיים בשגיאה 3167:
בשני המקרים, הרשומה תתווסף בהצלחה, אבל Access לא יצליח למצוא אותה בהצלחה.
בנוסף, בדרך-כלל Access יתעלם מניסיונות לעדכן את עמודת ‘זהות‘ ישירות. עם זאת, בגירסאות build אלה, היא מאפשרת לך לנסות אך להיכשל וליצור הודעת שגיאה:
[SQL Server] לא ניתן להוסיף ערך מפורש עבור עמודת ‘זהות‘ בטבלה ' tblOrders ' כאשר ההגדרה של IDENTITY_INSERT היא כבוי. (#544)
מצב: תוקן
התיקון לבעיה זו זמין כעת עבור גירסה 1912. ייתכן שתצטרך לכפות עדכון באופן מפורש כדי לקבל את התיקון. מספר גירסת ה- Build המתוקנת אמור להיות 12325.20344.
אם אתה ב- 'Insiders איטי' (גירסה 2001) או ב- 'Insiders מהיר' (גירסה 2002). התיקון עדיין לא נשלח בערוצים אלה, ולכן מומלץ לעבור לערוץ חודשי.
הערה: לאחר שתחליף גירסה, עליך לרענן את הקישורים המושפעים מכך כדי להבטיח שהם יחזרו לפעול באופן תקין.
שאל את המומחים
צור קשר עם מומחים, נהל דיון לגבי החדשות האחרונות, עדכונים ושיטות עבודה מומלצות, וקרא את הבלוג.
קבל עזרה בקהילה
שאל שאלות ומצא פתרונות בעזרת נציגי תמיכה, משתמשי MVP, מהנדסים ומשתמשים אחרים של Office.