Conectați-vă cu Microsoft
Conectați-vă sau creați un cont.
Salut,
Selectați un alt cont.
Aveți mai multe conturi
Alegeți contul cu care doriți să vă conectați.

Moderată: necesită macrocomenzi de bază, codificare și abilități de interoperabilitate.Acest articol se aplică la o bază de date Microsoft Access (. mdb) și la un proiect Microsoft Access (. adp).

Simptome

Atunci când editați date care utilizează mai multe formulare care au aceeași sursă de înregistrări, este posibil să primiți următorul mesaj de eroare:

Această înregistrare a fost modificată de un alt utilizator de la începerea editării. Dacă Salvați înregistrarea, veți suprascrie modificările făcute de celălalt utilizator. Copierea modificărilor în Clipboard vă va permite să vă uitați la valorile pe care le-a introdus celălalt utilizator, apoi să lipiți modificările înapoi dacă decideți să efectuați modificări.

Apoi, puteți face clic pe unul dintre următoarele trei butoane:

  • Salvare înregistrare

  • Copiere în Clipboard

  • Drop modificări

Cauză

Acest comportament se produce atunci când deschideți două formulare care actualizează aceeași sursă de date în același marcă de timp. Primul formular pune o blocare de editare pe înregistrare sau înregistrări, și apoi al doilea formular modifică înregistrarea sau înregistrările și salvează modificările. Când primul formular încearcă să închidă și să scrie înapoi la tabel, modificările care au fost făcute de al doilea formular sunt detectate. Acest lucru provoacă eroarea să fie returnate.

Rezolvare

Pentru a rezolva acest comportament, utilizați oricare dintre cele două metode listate pentru un fișier de baze de date Microsoft Access (. mdb) sau metoda listate pentru un fișier proiect Access (. adp).

Pentru un fișier bază de date Microsoft Access (. mdb)

Metoda 1

Setați proprietatea RecordLocks formularului la Înregistrare editată. Pentru aceasta, urmați acești pași:

  1. Deschideți formularul în Vizualizare proiect. Notă În Access 2007, mergeți la pasul 3.

  2. În meniul Vizualizare , faceți clic pe Proprietăți.

  3. În fila date , modificați proprietatea blochează înregistrarea proprietății la Înregistrare editată.

Metoda 2

Adăugați codul la procedura de eveniment Ondezactivare a ambelor formulare pentru a salva înregistrarea. Pentru aceasta, urmați acești pași:

  1. Deschideți formularul în Vizualizare proiect. Notă În Access 2007, mergeți la pasul 4.

  2. În meniul Vizualizare , faceți clic pe Proprietăți.

  3. În meniul Editare , faceți clic pe Selectare formular.

  4. În fila eveniment , faceți clic dreapta în caseta de proprietăți ondezactivare , și apoi faceți clic pe compilare.

  5. În caseta Alegeți generatorul , faceți clic pe generator de cod, apoi faceți clic pe OK.

  6. Tastați sau lipiți următorul cod:

    DoCmd.RunCommand acCmdSaveRecord
  7. Deschideți al doilea formular în Vizualizare proiect și repetați pașii de la 2 la 6.

Pentru un fișier Microsoft Access Project (. adp):

Adăugați cod la procedurile de eveniment Ondezactivare și OnActivate de ambele formulare pentru a salva înregistrarea. Pentru aceasta, urmați acești pași:

  1. Deschideți formularul în Vizualizare proiect. Notă În Access 2007, mergeți la pasul 4.

  2. În meniul Vizualizare , faceți clic pe Proprietăți.

  3. În meniul Editare , faceți clic pe Selectare formular.

  4. În fila eveniment , faceți clic dreapta în caseta de proprietăți ondezactivare , și apoi faceți clic pe compilare.

  5. În caseta Alegeți generatorul , faceți clic pe generator de cod, apoi faceți clic pe OK.

  6. Tastați sau lipiți următorul cod:

    DoCmd.RunCommand acCmdSaveRecord
  7. În meniul fișier , faceți clic pe Închidere și reveniți la Microsoft Access.

  8. În fila eveniment , faceți clic dreapta în caseta de proprietăți onactivate , și apoi faceți clic pe compilare.

  9. În caseta Alegeți generatorul , faceți clic pe generator de cod, apoi faceți clic pe OK.

  10. Tastați sau lipiți următorul cod:Notă codul eșantion în acest articol utilizează Microsoft ActiveX date obiecte. Pentru ca acest cod să se execute corect, trebuie să referință Microsoft ActiveX Data Objects 2. x bibliotecă (în cazul în care 2. x este 2,1 sau o versiune ulterioară). Pentru aceasta, faceți clic pe referințe în meniul Instrumente din editorul Visual Basic și asigurați-vă că este selectată caseta de selectare Microsoft ActiveX Data Objects 2. x bibliotecă .

    Dim rs As ADODB.RecordsetSet rs = Me.Recordset.Cloners.Bookmark = Me.BookmarkDoCmd.RunCommand acCmdRefreshMe.Bookmark = rs.Bookmarkrs.CloseSet rs = Nothing
  11. Deschideți al doilea formular în Vizualizare proiect, apoi Repetați pașii de la 2 la 10.

Mai multe informații

Pași pentru a reproduce comportamentul în Access 2003

  1. Acces deschis.

  2. În meniul de Ajutor , indicați spre baze de date eșantion, și apoi faceți clic pe Northwind eșantion baza acoperire de date.

  3. În fereastra bază de date , faceți clic pe tabele sub obiecte, apoi faceți clic pe tabelul angajați .

  4. În meniul Inserare , faceți clic pe autoform.

  5. Salvați formularul ca Frmnewangajați.

  6. Deschideți formularul angajați, apoi modificați câmpul Prenume la Nancy1.

  7. Deschideți formularul Frmnewangajați și apoi modificați câmpul Prenume la Nancy2.

  8. Închideți formularul Frmnewangajați.

  9. Închideți formularul angajați. Rețineți că primiți mesajul "conflict de scriere", care este menționat în secțiunea "simptome" din acest articol.

Pentru informații suplimentare, faceți clic pe următoarele numere de articol pentru a vedea articolele în baza de cunoștințe Microsoft:

304181 neașteptate scrie conflict eroare când închideți un formular

280730 ACC2000: scrie eroare de conflict când încercați să actualizați înregistrările într-un tabel SQL Server legat

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?

Vă mulțumim pentru feedback!

×