Avatar billede trinerafn Nybegynder
29. juni 2006 - 15:30 Der er 11 kommentarer og
2 løsninger

Write Conflict i db med faneblade (tabs) ved ændring af data

Hej jeg har en db med bl.a. en form med faneblade. Nogle gange, hvis jeg ændrer i data og går til næste faneblad (tab)eller lukker formen, fremkommer denne fejlmeddelelse:
"Write Conflict: This record has been changed by another user since you started editing it. If you save the record, you will overwrite the changes the other user made." (Mig selv) Der gives så flg. tre knapper til valg: Save Record - Copy to Clipboard - Drop changes. En af gangene hvor jeg trykkede på Save Record, smadrede db'en, men kunne dog reparere sig selv ved genåbning. Det er lidt spøjst, da jeg jo er i start og testfasen, så der er jo slet ikke nogen andre der kan arbejde i den end mig. Er der nogen der har en idé.
Avatar billede -anders- Juniormester
29. juni 2006 - 15:37 #1
Hej
Det lyder som at du har en eller anden opdateringsrutine der køres på den aktuelle form evt. før eller efter opdatering af et eller flere felter, eller måske på hele formen, jeg tror det er her den ligger. Prøv evt at uddybe lidt mere vedr. den aktuelle form
Avatar billede mugs Novice
29. juni 2006 - 15:38 #2
Prøv at se på formularens egenskab 2Postlåse" i fanen data.
Avatar billede trinerafn Nybegynder
29. juni 2006 - 16:03 #3
>Mugs Nu skriver jeg i engelske termer, da Access er på engelsk hos mig. Først må du lige forklare mig hvor præcis jeg skal handle: Vi har en "Main form" som hedder FrmAllData. Denne form har en tabcontrol som hedder: TabCtl0. Denne Tab Control har faner(tabs) med hver deres "subform" knyttet til sig. Skal jeg ændre i "Main formen" eller på hver subform. Jeg har gjort som du skriver kigget på fanen data's egenskaber. Record locks er sat til No locks, men her skal vi vel passe på. Da hver form vel skal låses hvis én bruger er inde på dem. Så har vi noget som hedder Record Set Type: her kan vi vælge imellem 1.Dynaset (standard) 2.Dynaset (Inconsistent updates) og 3snapshot. Jeg kan nok læse mig til at det må være nr.2 vi skal bruge, da man her skal kunne opdatere alt. Hvad mener du?
Avatar billede Slettet bruger
30. juni 2006 - 11:01 #4
Det ser ud til at ophandle dette problem, som jeg også selv er stødt på. Jeg vælger som regel drop changes og så bliver det underligt nok gemt alligevel!~)

SYMPTOMS
When you try to insert a record in a multi-table view, a stored procedure, or a function in a Microsoft Access project (.adp) file, you receive the following error message:
Write Conflict

This record has been changed by another user since you started editing it. If you save the record, you will overwrite the changes the other user made.

Copying the changes to the clipboard will let you look at the values the other user entered, and then paste your changes back in if you decide to make the changes.
When you click Drop Changes in the dialog box, the record disappears. However, the values from the child record in the join are saved with an unexpected foreign key.
Back to the top

CAUSE
This behavior occurs when the following conditions are true:

• The primary key field of the primary table in the query is an identity field.
• The query restricts the records that are returned to exclude some records from the primary table.

RESOLUTION
To resolve this problem, obtain the latest service pack for Microsoft Office XP. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
307841 (http://support.microsoft.com/kb/307841/EN-US/) OFFXP: How to Obtain the Latest Office XP Service Pack


There are two additional resolutions for this problem.
Use a Linked Main Form and Subform
The recommended solution for this problem is to use a linked main form and subform to enter data into the related tables. This allows you to enter records into both tables from one location without using a query, and without having to modify the structure of the underlying tables. To create a main form with a linked subform, follow these steps: 1. Create a new form that is based on the related (child) table that is used in the query and include all fields on the form.
2. Save the form, and then close it.
3. Create a new form that is based on the primary table that is used in the query and include all fields on the form.
4. In the Database window, drag the form that you saved in step 2 onto the main form to create a subform.
5. View the properties of the subform and set its LinkChildFields and LinkMasterFields properties to the name of the field or fields that are used to link the tables.

Remove the Identity Attribute from the Primary Table
A second solution to this problem is to set the Identity property of the primary key in the primary table to No. This prevents the error from occurring when you enter data directly into the query; however, you will have to manually enter the primary key and foreign key values directly into the query when you insert records. To set the Identity property of the field to No, follow these steps: 1. Open the primary table in Design view.
2. Click on the primary key field to view its properties.
3. Set the Identity property of the field to No.


STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
This problem was first corrected in Microsoft Office XP Service Pack 1.
Back to the top

MORE INFORMATION
If the query is restricting some records from the primary table, and the primary table's join field is an identity column, Microsoft Access does not retrieve the next valid value for the identity column. Microsoft Access attempts to insert a value one greater than the maximum identity value in the query's resultset. If that value has already been used, Microsoft Access returns a write conflict error when the related table is updated.
Avatar billede trinerafn Nybegynder
30. juni 2006 - 12:52 #5
>spg Ja, det lyder fuldstændig som det samme problem du er stødt ind i, for ja den gemmer og brokker sig ikke yderligere hvis man trykker på drop changes. Jeg har dog problemer med at forstå hvordan man skal fixe det, udfra ovenstående.
"3. Set the Identity property of the field to No." Hvilken property hedder Identity?
Jeg kan finde "Required" og "Indexed", dog ikke på Primary Key, da den er Autonumber, men jeg kan slet ikke finde "Identity"
Avatar billede Slettet bruger
30. juni 2006 - 13:57 #6
Jeg tror at du har felter på de forskellige faneblade, som egentlig tilhører den samme post. Dvs. at de har alle den samme record source. Som jeg kan forstå så skal du ligge en subform på hvert faneblad, med sin egen record source. Det kan så godt være den samme record source!~)

Det skulle så gøre at når du forlader det ene faneblad, så registreres posten og når du så åbner det næste faneblad, så vil du kunne arbejde videre. Jeg ved ikke om du så skal til at opdatere manuelt (.Requery) men jeg tror det egentlig ikke...
Avatar billede trinerafn Nybegynder
30. juni 2006 - 15:18 #7
>spg Ja, det er rigtigt jeg har en masse felter på de fsk. faneblade som alle tilhører den samme post Ca. 600 ialt, derfor har jeg tabeller linket 1 til 1, og alle subforme er linket til samme ID (primarykey) i MasterField. Hvad mener du med at det godt kan være den samme record source. Skal jeg så kopiere den. Den kan da ikke være det samme, så vil forespørgsel da brokke sig.
Avatar billede Slettet bruger
03. juli 2006 - 09:26 #8
Er det et bestemt faneblad, som udløser problemet? Hvis det er kunne jeg forestille mig at det er et faneblad, som ikke indeholder en subform. Er dette tilfældet, så prøv at lave det om så der registreres i en subform!~)
Avatar billede Slettet bruger
12. juli 2006 - 14:46 #9
Hvordan går det!~)
Avatar billede Slettet bruger
26. juli 2006 - 13:07 #10
Status?~)
Avatar billede trinerafn Nybegynder
14. august 2006 - 12:34 #11
>spg. Undskyld undskyld at jeg ikke har svaret så længe, jeg har holdt ferie. Nu er jeg tilbage. For at svare på kommentar af 3/7. Alle Faneblade indeholder subforme.
Avatar billede Slettet bruger
14. august 2006 - 14:40 #12
Jeg skal nok lige prøve at komme omkring det og velkommen tilbage!~)
Avatar billede trinerafn Nybegynder
30. august 2006 - 12:18 #13
Kære mugs og spg. Jeg vælger at lukke dette spørgsmål og oprette et nyt. Jeg vil dog gi' points fordi I har svaret noget, som måske var lidt derhenaf. Problemet er dog ikke løst, så jeg må vist ha' en til at se på db'en. mvh. Trine
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester