마지막 업데이트: 2020년 1월 23일
문제
ID 열이 있는 SQL Server의 테이블에 대한 링크를 만들 때 일반적으로 Access는 해당 열을 일련 번호 열로 식별합니다.
Office 365 및 Office 2016/2019 버전 1912의 현재 채널 빌드(16.0.12325. *)에서 ID 열이 올바르게 식별되지 않으며 대신 숫자로만 인식됩니다.
이것은 사용자 인터페이스 또는 코드를 통해 새 링크를 만들 때 발생하지만, 새 링크에 대해서만 발생합니다. 링크를 새로 고치지 않는 한 기존 링크는 영향을 받지 않습니다.
Access는 다양한 목적으로 ID 열의 올바른 ID를 사용하므로, 이는 여러가지 방식으로 응용 프로그램에 영향을 줄 수 있습니다.
예를 들어, ID 열은 일반적으로 새로 추가된 레코드를 식별하는 데 사용됩니다. ID 열을 사용하지 않으면 Access에서 새로 추가된 행을 올바르게 찾지 못해 해당 행의 필드가 #Deleted로 표시될 수 있습니다.
RecordSet.LastModified 속성을 사용하여 마지막으로 추가한 레코드의 값을 검색할 때 비슷한 문제가 발생할 수 있습니다. 다음 코드에서
Set rst = CurrentDb().OpenRecordset("tblWithIdentityColumn")
rst.AddNew
rst!CompanyName = "Contoso"
rst.Update
rst.Bookmark = rst.LastModified
MsgBox rst!CompanyName
3167 오류가 발생할 수 있습니다.
두 경우 모두 레코드가 성공적으로 추가되지만 Access에서 레코드를 찾지 못합니다.
또한 액세스는 일반적으로 ID 열을 직접 업데이트하려는 시도를 무시합니다. 한편, 이러한 빌드에서는 시도를 허용하지만 실패하고 오류 메시지를 생성합니다.
[SQL Server] IDENTITY_INSERT가 OFF로 설정되어 있으면 테이블 'tblOrders'의 ID 열에 명시적 값을 삽입할 수 없습니다. (#544)
상태: 해결됨
이 문제에 대한 수정 사항은 이제 버전 1912에서 사용할 수 있습니다. 수정 사항을 받도록 명시적으로 업데이트를 강제해야 할 수 있습니다. 고정된 빌드 번호는 12325.20344이어야 합니다.
이후 참가자(버전 2001) 또는 초기 참가자(버전 2002)인지. 해당 채널에서 아직 픽스가 제공되지 않았으므로 현재 채널로 이동하는 것이 좋습니다.
참고: 버전을 변경한 후에는 영향받는 링크를 새로 고쳐서 제대로 작동하는지 확인해야 합니다.