Applies ToAccess pre Microsoft 365 Access 2021 Access 2019 Access 2016

Posledná aktualizácia: 23. januára 2020

PROBLÉM

Keď vytvoríte prepojenie na tabuľku v SQL Serveri, ktorá obsahuje stĺpec identity, Access zvyčajne identifikuje daný stĺpec ako stĺpec automatického číslovania.

Zobrazí, že stĺpec identity je identifikovaný ako pole automatického číslovania

V rámci zostáv aktuálneho kanála (16.0.12325.*) verzie 1912 služieb Office 365 a balíka Office 2016/2019 nie sú stĺpce identity identifikované správne, a namiesto toho sa rozpoznávajú len ako číslo.

Stĺpec identity nesprávne identifikovaný ako automatické číslovanie

Stane sa to pri vytváraní nových prepojení prostredníctvom používateľského rozhrania alebo kódu, ale len v prípade nových prepojení.  Na existujúce prepojenia to nebude mať vplyv, pokiaľ prepojenie nebude obnovené.

Program Access používa správnu identifikáciu stĺpca identity na mnohé účely, takže aplikácie to môže ovplyvniť viacerými spôsobmi.

Stĺpec identity sa napríklad zvyčajne používa na identifikáciu novo pridaného záznamu.  Ak sa stĺpec identity nepoužíva, Access nemusí byť schopný správne vyhľadať novo pridaný riadok, čo bude mať za následok, že polia v tomto riadku sa zobrazia ako #Odstránené.

Riadok so zobrazenými poľami, ktoré sú označené ako odstránené

Podobné problémy sa môžu zobraziť pri používaní vlastnosti RecordSet.LastModified na načítanie hodnôt pre posledný pridaný záznam. Nasledujúci kód:

Set rst = CurrentDb().OpenRecordset("tblWithIdentityColumn")

rst.AddNew
rst!CompanyName = "Contoso"
rst.Update

rst.Bookmark = rst.LastModified
MsgBox rst!CompanyName

Môže mať za následok chybu 3167:

Chyba, ktorá signalizuje, že záznam je odstránený.

V obidvoch prípadoch bude záznam úspešne pridaný, ale Access ho nedokáže úspešne vyhľadať.

Access tiež zvyčajne ignoruje pokusy o priamu aktualizáciu stĺpca identity. V týchto zostavách však pokus umožňuje, ale nie je úspešný a generuje chybové hlásenie:

[SQL Server] Nie je možné vložiť explicitnú hodnotu pre stĺpec identity v tabuľke tblOrders, keď je funkcia IDENTITY_INSERT nastavená na možnosť OFF (Vyp.) (#544)

STAV: OPRAVENÉ

Oprava tohto problému je teraz k dispozícii vo verzii 1912.  Ak chcete získať opravu, možno bude potrebné, aby ste explicitne vynútili aktualizáciu.  Číslo opravenej zostavy by malo byť 12325.20344.

Ak ste v okruhu insiderov Slow (verzia 2001) alebo insiderov Fast (verzia 2002). Oprava ešte nie je súčasťou týchto kanálov, takže možno budete chcieť prejsť na aktuálny kanál.

Po zmene verzií je potrebné obnoviť všetky príslušné prepojenia, aby ste sa uistili, že znova fungujú správne.

Ikona odborníkov (mozog, ozubené kolieska)

Opýtajte sa odborníkov

Spojte sa s odborníkmi, diskutujte o novinkách, aktualizáciách a najvhodnejších postupoch a prečítajte si náš blog.

Microsoft Tech Community

Ikona Komunita

Získajte pomoc v komunite

Položte otázku zástupcom oddelenia podpory, odborníkom MVP, technikom a iným používateľom balíka Office a nájdite riešenia.

Fórum o Office na lokalite Answers

Ikona požiadavky na funkciu (žiarovka, nápad)

Navrhnite novú funkciu

Radi si prečítame vaše návrhy a pripomienky. Podeľte sa o svoje myšlienky. Váš názor nás zaujíma.

Poskytnutie odozvy

Pozrite tiež

Opravy alebo alternatívne riešenia nedávnych problémov v Accesse

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.