Ostatnia aktualizacja: 23 stycznia 2020 r.
PROBLEM
Podczas tworzenia linku do tabeli programu SQL Server zawierającej kolumnę tożsamości program Access zwykle identyfikuje tę kolumnę jako kolumnę typu Autonumerowanie.
W kompilacjach bieżącego kanału (16.0.12325.*) w wersji 1912 usługi Office 365 i pakietu Office 2016/2019 kolumny Tożsamość nie są poprawnie identyfikowane i dlatego będą rozpoznawane tylko jako liczby.
Dzieje się tak w przypadku tworzenia nowych linków za pośrednictwem interfejsu użytkownika lub kodu, ale tylko w przypadku nowych linków. Nie wpłynie to na istniejące linki, o ile link nie zostanie odświeżony.
Program Access używa odpowiedniej identyfikacji kolumny tożsamości do wielu celów, więc może to mieć wpływ na aplikację na kilka sposobów.
Na przykład kolumna tożsamości jest zwykle używana do identyfikowania nowo dodanego rekordu. Jeśli kolumna tożsamości nie jest używana, program Access może nie być w stanie prawidłowo odnaleźć nowo dodanego wiersza, co spowoduje, że pola w danym wierszu będą wyświetlane jako #Deleted.
W przypadku używania właściwości RecordSet.LastModified w celu pobrania wartości ostatnio dodanego rekordu mogą być wyświetlane podobne błędy. Następujący kod:
Set rst = CurrentDb().OpenRecordset("tblWithIdentityColumn")
rst.AddNew
rst!CompanyName = "Contoso"
rst.Update
rst.Bookmark = rst.LastModified
MsgBox rst!CompanyName
Może spowodować błąd 3167:
W obu przypadkach rekord zostanie pomyślnie dodany, ale program Access nie będzie mógł go odnaleźć.
Program Access zwykle ignoruje także próby bezpośredniej aktualizacji kolumny tożsamości. Jednak w tych kompilacjach ta opcja pozwala podejmować próby, ale kończą się one niepowodzeniem i generują komunikat o błędzie:
[SQL Server] Nie można wstawić wartości jawnej dla kolumny tożsamości w tabeli „tblOrders”, jeśli IDENTITY_INSERT ma wartość OFF.(#544)
STAN: NAPRAWIONE
Rozwiązanie tego problemu jest teraz dostępne w wersji 1912. Aby uzyskać poprawkę, może być konieczne bezpośrednie wymuszenie aktualizacji. Numer kompilacji z naprawionym błędem to 12325.20344.
Jeśli jesteś niejawnym testerem korzystającym z wolnych aktualizacji (wersja 2001) lub niejawnym testerem korzystającym z szybkich aktualizacji (wersja 2002). Ta poprawka nie jest jeszcze dostępna w tych kanałach, więc możesz przenieść się do bieżącego kanału.
Uwaga: Po zmianie wersji musisz odświeżyć wszystkie linki, których dotyczy poprawka, aby upewnić się, że znowu działają poprawnie.
Zapytaj ekspertów
Nawiązuj kontakty z ekspertami, omawiaj najnowsze wiadomości, aktualizacje i najlepsze rozwiązania oraz czytaj naszego bloga.
Uzyskaj pomoc społeczności
Zadaj pytanie i uzyskaj rozwiązania dzięki przedstawicielom obsługi technicznej, specjalistom MVP, inżynierom i innym użytkownikom pakietu Office.
Zasugeruj nową funkcję
Czekamy na sugestie i opinie! Przekazuj je! Chętnie Cię wysłuchamy.
Zobacz też
Rozwiązania lub obejścia ostatnio stwierdzonych problemów w programie Access