01. december 2009 - 10:35Der er
7 kommentarer og 1 løsning
Undgå Write Conflict ved opdatering af felt
Hej.
Jeg er ved at rette lidt i en Access 2003 applikation, og har fået et problem med "Write Conflict".
Jeg har en form som er bundet op på et datasæt (en forespørgsel). Formen indeholder også en "sub form" som viser nogle flere data i "grid view" (eller hvad det nu kaldes). Der er blevet tilføjet et nyt felt i tabellen og dermed også en ny "text box" til at vise dette felt.
Nu ønsker jeg så at man kan opdatere indholdet af det nyligt tilføjet felt.
Den måde jeg gør det på nu er ved at have en "On Lost Focus" event på text box'en som så kører en DoCmd.OpenQuery "myQuery" der opdaterer feltet i tabellen med den nye værdi.
Det virker som sådan også, men når jeg så forsøger at lukke formen eller går videre til en anden record, så kommer beskeden om "Write conflict" fordi indholdet har ændret sig siden Access indlæste data.
Det er jo også korrekt, men hvordan undgår jeg den fejl? Er der en mere smart måde at opdatere feltet på? Access GUI og indbyggede funktioner er ikke lige min stærke side ;)
Det giver kun problemmer og gør ting indviklet når man piller ved ved datakilde(rne) til en kørende formualar(og underformlar ...) direkte - altså uden om formularens standardmekanisme - reference gennem feltværdier. Det er en god regel at holde sig til felterne - man kan sagtens select/update/insert/alter/drop på alle andre datakilder - bare der ikke er nogle formularer der har dem åbne.
ellebe: Som tidligere nævnt, så forsøgte jeg også at gøre det sådan først, men af en eller anden årsag blev feltet ikke opdateret i databasen. Derfor forsøgte jeg at gøre det manuelt.
Synes godt om
Slettet bruger
01. december 2009 - 21:51#8
ja - nogle gange må man ty til docmd.runcomand accmdsaverecord requery (form or control)
if me.dirty then ...
Synes godt om
Ny brugerNybegynder
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.