Umiernené: vyžaduje základné makro, kódovanie a interoperabilitu zručnosti.Tento článok sa vzťahuje na databázu programu Microsoft Access (. mdb) a na projekt programu Microsoft Access (. adp).

Príznaky

Pri úprave údajov, ktoré používa viacero formulárov, ktoré majú rovnaký zdroj záznamov, môže sa zobraziť nasledujúce chybové hlásenie:

Tento záznam zmenil iný používateľ, pretože ste ho začali upravovať. Ak záznam uložíte, prepíšu sa zmeny vykonané iným používateľom. Kopírovanie zmien do schránky vám umožní pozrieť sa na hodnoty, ktoré vložil iný používateľ, a potom zmeny prilepiť späť, ak sa rozhodnete vykonať zmeny.

Potom môžete kliknúť na jedno z nasledujúcich troch tlačidiel:

  • Uložiť záznam

  • Kopírovať do schránky

  • Zmeny poklesu

Príčina

Toto správanie sa vyskytuje, keď otvoríte dve formuláre, ktoré aktualizujú rovnaký zdroj údajov v rovnakom čase. Prvý formulár stavia zámok úprav na záznam alebo záznamy, a potom druhý formulár zmení záznam alebo záznamy a uloží zmeny. Keď sa prvý formulár pokúsi zatvoriť a zapísať späť do tabuľky, zistia sa zmeny vykonané druhým formulárom. To spôsobí chybu vrátiť.

Riešenie

Ak chcete obísť toto správanie, použite niektorú z dvoch metód uvedených pre súbor databázy programu Microsoft Access (. mdb) alebo metódu uvedenú pre súbor programu Access Project (. adp).

Pre súbor databázy programu Microsoft Access (. mdb)

Metóda 1

Nastaviť RecordLocks vlastnosť formulára na upravený záznam. Tak chcete urobiť, postupujte nasledovne:

  1. Otvorte formulár v návrhovom zobrazení. Poznámka: V programe Access 2007, prejdite na krok 3.

  2. V ponuke Zobraziť kliknite na položku Vlastnosti.

  3. Na karte údaje zmeňte vlastnosť locks záznamov na upravený záznam.

Metóda 2

Pridať kód do procesu Ondeaktivovať udalosti oboch formulárov uložiť záznam. Tak chcete urobiť, postupujte nasledovne:

  1. Otvorte formulár v návrhovom zobrazení. Poznámka: V programe Access 2007, prejdite na krok 4.

  2. V ponuke Zobraziť kliknite na položku Vlastnosti.

  3. V ponuke úpravy kliknite na položku Vybrať formulár.

  4. Na udalosť karte, kliknite pravým tlačidlom myši na vlastnosť ondeaktivovať a potom kliknite na tlačidlo vybudovať.

  5. V poli vybrať Zostavovač kliknite na položku Zostavovač kódua potom kliknite na tlačidlo OK.

  6. Zadajte alebo prilepte nasledujúci kód:

    DoCmd.RunCommand acCmdSaveRecord
  7. Otvorte druhý formulár v návrhovom zobrazení a zopakujte kroky 2 až 6.

Pre súbor projektu programu Microsoft Access (. adp):

Pridať kód na Ondeaktivovať a OnActivate udalosti postupy oboch formulárov uložiť záznam. Tak chcete urobiť, postupujte nasledovne:

  1. Otvorte formulár v návrhovom zobrazení. Poznámka: V programe Access 2007, prejdite na krok 4.

  2. V ponuke Zobraziť kliknite na položku Vlastnosti.

  3. V ponuke úpravy kliknite na položku Vybrať formulár.

  4. Na udalosť karte, kliknite pravým tlačidlom myši na vlastnosť ondeaktivovať a potom kliknite na tlačidlo vybudovať.

  5. V poli vybrať Zostavovač kliknite na položku Zostavovač kódua potom kliknite na tlačidlo OK.

  6. Zadajte alebo prilepte nasledujúci kód:

    DoCmd.RunCommand acCmdSaveRecord
  7. V ponuke súbor kliknite na položku Zavrieť a vráťte sa do programu Microsoft Access.

  8. Na udalosť karte, kliknite pravým tlačidlom myši na vlastnosť OnActivate a potom kliknite na tlačidlo vybudovať.

  9. V poli vybrať Zostavovač kliknite na položku Zostavovač kódua potom kliknite na tlačidlo OK.

  10. Zadajte alebo prilepte nasledujúci kód:Poznámka vzorový kód v tomto článku používa Microsoft ActiveX údajové objekty. Pre tento kód spustiť správne, musíte odkazovať na Microsoft ActiveX Data Objects 2. x knižnica (kde 2. x je 2,1 alebo novší). Tak chcete urobiť, kliknite na tlačidlo Odkazy na Nástroje menu v editore jazyka Visual Basic a uistite sa, že Microsoft ActiveX Data objekty 2. x knižnica je začiarknuté políčko.

    Dim rs As ADODB.RecordsetSet rs = Me.Recordset.Cloners.Bookmark = Me.BookmarkDoCmd.RunCommand acCmdRefreshMe.Bookmark = rs.Bookmarkrs.CloseSet rs = Nothing
  11. Otvorte druhý formulár v návrhovom zobrazení a zopakujte kroky 2 až 10.

Ďalšie informácie

Kroky na reprodukovanie správanie v programe Access 2003

  1. Otvorený prístup.

  2. V ponuke Pomocník ukážte na ukážkové databázy, a potom kliknite na tlačidlo Ukážková databáza Northwind.

  3. V okne databáze kliknite na položku tabuľky podľa objekty, a potom kliknite na tlačidlo zamestnanci tabuľka.

  4. V ponuke Vložiť kliknite na položku Automatický formulár.

  5. Uložte formulár ako Frmnewzamestnanci.

  6. Otvorte formulár zamestnanci a zmeňte pole krstné meno na Nancy1.

  7. Otvorte Frmnewzamestnanci formulár, a potom zmeňte krstné meno pole Nancy2.

  8. Zatvorte Frmnewzamestnanci formulár.

  9. Zatvorte formulár zamestnanci. Všimnite si, že sa zobrazí hlásenie "písať konflikt", ktorý je uvedený v časti "príznaky" tohto článku.

Ďalšie informácie nájdete po kliknutí na nasledovné číslo článku publikovaného v databáze Microsoft Knowledge Base:

304181 neočakávané zápisu konflikt chyba pri zatvorení formulára

280730 ACC2000: chyba pri zapisovaní konfliktu pri pokuse o aktualizáciu záznamov v TABUĽKE prepojených SQL Server

Potrebujete ďalšiu pomoc?

Rozšírte svoje zručnosti
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pripojiť k Microsoft insiderov chcú

Považujete poskytnuté informácie za užitočné?

Aká je podľa vás kvalita prekladu?
Čo sa vám páčilo a čo nie?

Ďakujem za vaše pripomienky!

×