Applies ToAccess για Microsoft 365 Access 2021 Access 2019 Access 2016

Τελευταία ενημέρωση: 23 Ιανουαρίου 2020

ΠΡΟΒΛΗΜΑ

Κατά τη δημιουργία μιας σύνδεσης σε έναν πίνακα στον SQL Server η οποία εμπεριέχει στήλη ταυτότητας, η Access, κανονικά, θα αναγνωρίσει αυτή τη στήλη ως μια στήλη αυτόματης αρίθμησης.

Δείξτε ότι η στήλη ταυτότητας αναγνωρίζεται ως πεδίο "Αυτόματης αρίθμησης"

Στις δομές τρέχοντος καναλιού (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 θα παραβλέψει τις προσπάθειες απευθείας ενημέρωσης της στήλης ταυτότητας. Ωστόσο, σε αυτές τις δομές επιτρέπεται η προσπάθεια, αλλά αποτυγχάνει και δημιουργείται ένα μήνυμα σφάλματος:

[SQL Server] Δεν είναι δυνατή η εισαγωγή απόλυτης τιμής για τη στήλη ταυτότητας στον πίνακα 'tblOrders' όταν η επιλογή IDENTITY_INSERT έχει οριστεί ως απενεργοποιημένη. (#544)

ΚΑΤΑΣΤΑΣΗ: ΔΙΟΡΘΩΘΗΚΕ

Η επιδιόρθωση για αυτό το πρόβλημα είναι πλέον διαθέσιμη για την έκδοση 1912.  Ίσως χρειαστεί να κάνετε υποχρεωτική ενημέρωση για να λάβετε την επιδιόρθωση.  Ο αριθμός διορθωμένης δομής πρέπει να είναι 12325.20344.

Εάν χρησιμοποιείτε το Insiders Slow (έκδοση 2001) ή το Insiders Fast (έκδοση 2002). Η επιδιόρθωση δεν έχει ακόμη παραδοθεί σε αυτά τα κανάλια, επομένως μπορεί να θέλετε να μεταβείτε στο τρέχον κανάλι.

Σημείωση: Αφού αλλάξετε εκδόσεις, θα πρέπει να ανανεώσετε τυχόν συνδέσεις που επηρεάζονται για να εξασφαλίσετε τη σωστή συμπεριφορά τους.

Εικονίδιο ειδικών (εγκέφαλος, γρανάζια)

Ρωτήστε τους ειδικούς

Επικοινωνήστε με ειδικούς, συζητήστε για τα τελευταία νέα, τις ενημερώσεις και τις βέλτιστες πρακτικές και διαβάστε το ιστολόγιό μας.

Τεχνική Κοινότητα Microsoft

Εικονίδιο κοινότητας

Λήψη βοήθειας από την κοινότητα

Υποβάλετε μια ερώτηση και βρείτε λύσεις από εκπροσώπους υποστήριξης, MVP, μηχανικούς και άλλους χρήστες του Office.

Φόρουμ του Office στο Answers

Εικονίδιο αίτησης δυνατότητας (λάμπα, ιδέα)

Προτείνετε μια νέα δυνατότητα

Οι προτάσεις και τα σχόλιά σας είναι πολύτιμα για εμάς! Μοιραστείτε τις σκέψεις σας. Είμαστε έτοιμοι να σας ακούσουμε.

Παροχή σχολίων

Δείτε επίσης

Επιδιορθώσεις ή λύσεις για πρόσφατα προβλήματα στην Access

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.

Οι κοινότητες σάς βοηθούν να κάνετε και να απαντάτε σε ερωτήσεις, να δίνετε σχόλια και να ακούτε από ειδικούς με πλούσια γνώση.