"Access" neatpažįsta susietos SQL serverio lentelės tapatybės stulpelio

Paskutinį kartą atnaujinta: sausio 23, 2020

PROBLEMA

Kuriant saitą į lentelę "SQL Server", kuriame yra tapatybės stulpelis, "Access" paprastai nustatys stulpelį kaip automatinio numeravimo stulpelį.

Rodyti, kad tapatybės stulpelis nustatytas kaip laukas Automatinis_numeravimas

Dabartiniame mėnesinio kanalo komponavimo versijoje (16.0.12325. *), 1912 "Office 365" ir "Office 2016/2019" versijoje tapatybės stulpeliai netinkamai identifikuojami ir bus pripažįstami tik skaičiumi.

Tapatybės stulpelis netinkamai identifikuojamas kaip Automatinis numeravimas

Taip įvyks kuriant naujus saitus vartotojo sąsajoje arba naudodami kodą, bet tik naujiems saitams.  Esami saitai neturės įtakos, nebent saitas atnaujinamas.

Programa "Access" naudoja tinkamą tapatybės stulpelio identifikavimą keliems tikslams, todėl tai gali turėti įtakos taikomosioms programoms.

Pavyzdžiui, tapatybės stulpelis paprastai naudojamas naujai įtrauktam įrašui identifikuoti.  Kai tapatybės stulpelis nenaudojamas, "Access" gali nepavykti tinkamai rasti naujai pridėtos eilutės, dėl kurios tos eilutės laukai bus rodomi kaip #Deleted.

Eilutė, kurioje rodomi laukai, kurie sako naikinti

Naudodami RecordSet. LastModified ypatybę galite matyti panašias problemas, kad gautumėte paskutinio įtraukto įrašo reikšmes. Šis kodas:

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

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

rst.Bookmark = rst.LastModified
MsgBox rst!CompanyName

Gali atsirasti klaida 3167:

Klaida, nurodanti, kad įrašas panaikinamas.

Abiem atvejais įrašas bus sėkmingai įtrauktas, tačiau "Access" nepavyks sėkmingai rasti.

"Access" taip pat paprastai nepaiso bandymų atnaujinti tapatybės stulpelį tiesiogiai. Tačiau šiais Komponavimo versija leidžia bandyti, bet nepavyksta ir generuoti klaidos pranešimą:

[SQL serveris] Negalima įterpti aiškios reikšmės tapatybės stulpeliui lentelėje "tblOrders", kai IDENTITY_INSERT nustatyta kaip išjungta. (#544)

BŪSENA: IŠSPRĘSTA

Šios problemos pataisa dabar pasiekiama versijoje 1912.  Jums gali tekti aiškiai priversti atnaujinti, kad gautumėte pataisą.  Fiksuotas komponavimo versijos numeris turi būti 12325,20344.

Jei esate "Insider" ("2001" versija) arba "Insider" Sparčioji versija (2002 versija). Pataisymas dar nepristatomas šiais kanalais, todėl galite norėti pereiti į mėnesinį kanalą.

Pastaba: Pakeitę versijas turite atnaujinti visus paveiktus saitus, kad užtikrintumėte, jog jie tinkamai elgiasi.

Ekspertų piktograma (smegenys, krumpliaračiai)

Klauskite ekspertų

Sužinokite ekspertų nuomonę, aptarkite „Excel“ naujienas, naujinimus ir geriausią praktiką, taip pat skaitykite mūsų interneto dienoraštį.

„Microsoft“ technologijų bendruomenė

Bendruomenės piktograma

Gaukite pagalbos bendruomenėje

Užduokite klausimą ir raskite sprendimus su palaikymo agentais, MVP, inžinieriais ir kitais „Excel“ vartotojais.

„Office“ forumo atsakymai

Funkcijos užklausų piktograma (lemputė, idėja)

Pasiūlykite naują funkciją

Džiaugiamės skaitydami jūsų pasiūlymus ir atsiliepimus! Pasidalykite savo mintimis. Mes pasiruošę išklausyti.

„UserVoice“, skirtas „Office“

Taip pat žr.

Naujausių „Access“ problemų pataisos ir sprendimo būdai

Tobulinkite savo „Office“ įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijunkite prie „Office Insider“ dalyvių

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×