Ik heb een tabel. Die bestaat uit twee velden: procedure en test.
Een procedure kan uit meerdere testen bestaan.
Dus de tabel kan er zo uitzien:
Die procedurecode moet later aanpasbaar zijn.
De procedurecode wordt maar 1 keer laten zien, in de kopgedeelte van het formulier. Zodat de procedure niet steeds herhaald wordt voor bijv 3 testen.
De test wordt in de detail gedeelte net zo vaak herhaald als er testen zijn, het formulier staat op doorlopend.
Het probleem is:
Als ik dan de procedurenaam verander, dan wordt die procedurenaam alleen verandert in de test die bovenaan staat. Op zichzelf wel logisch, maar die verandering moet dus bij alle regels worden aangepast waar de oude naam van die procedure stond.
Dus dat doe ik nu handmatig via een sql query, in VB. Deze sql query wordt uitgevoerd bij de actie 'voor bijwerken' van het tekstvak tekstvakprocedure.
In tekstvakprocedure verander je de naam van de procedure.
In lijstprocedures staat nog de oude naam van de procedure.
Dit wordt goed uitgevoerd.
Als ik dan de focus verplaats naar de bovenste test, dan is er niks aan de hand. Maar als ik naar een andere rijtest de focus verplaats krijg ik zo'n melding van access dat er een schrijfconflict is opgetreden, dat een andere gebruiker (ik dus
) de record al heeft verandert. Dan kan ik nog de wijziging zo laten, ongedaan maken, enz.
Hoe voorkom ik dat access niet denkt dat iemand anders die sql query heeft uitgevoerd.
Ik heb al geprobeerd meteen na die sql query de record te saven, de queys/filters opnieuw uit te voeren.
De oude en nieuwe procedurewaardes tijdelijk in een andere tekstvak plaatsen en daarvan de veranderingen proberen door te voeren, enz. Maar het werkt toch nog niet helemaal.
Woops, is een beetje uitgebreid geworden, maar is nu tenminste duidelijk lijkt me.
Een procedure kan uit meerdere testen bestaan.
Dus de tabel kan er zo uitzien:
code:
1
2
3
4
| Procedure Test S11 ph S11 ecoli |
Die procedurecode moet later aanpasbaar zijn.
De procedurecode wordt maar 1 keer laten zien, in de kopgedeelte van het formulier. Zodat de procedure niet steeds herhaald wordt voor bijv 3 testen.
De test wordt in de detail gedeelte net zo vaak herhaald als er testen zijn, het formulier staat op doorlopend.
Het probleem is:
Als ik dan de procedurenaam verander, dan wordt die procedurenaam alleen verandert in de test die bovenaan staat. Op zichzelf wel logisch, maar die verandering moet dus bij alle regels worden aangepast waar de oude naam van die procedure stond.
Dus dat doe ik nu handmatig via een sql query, in VB. Deze sql query wordt uitgevoerd bij de actie 'voor bijwerken' van het tekstvak tekstvakprocedure.
code:
1
2
| DoCmd.RunSQL "UPDATE PROCEDURES SET LABORATORIUMPROCEDURE = tekstvakprocedure WHERE LABORATORIUMPROCEDURE = lijstprocedures;" |
In tekstvakprocedure verander je de naam van de procedure.
In lijstprocedures staat nog de oude naam van de procedure.
Dit wordt goed uitgevoerd.
Als ik dan de focus verplaats naar de bovenste test, dan is er niks aan de hand. Maar als ik naar een andere rijtest de focus verplaats krijg ik zo'n melding van access dat er een schrijfconflict is opgetreden, dat een andere gebruiker (ik dus
Hoe voorkom ik dat access niet denkt dat iemand anders die sql query heeft uitgevoerd.
Ik heb al geprobeerd meteen na die sql query de record te saven, de queys/filters opnieuw uit te voeren.
De oude en nieuwe procedurewaardes tijdelijk in een andere tekstvak plaatsen en daarvan de veranderingen proberen door te voeren, enz. Maar het werkt toch nog niet helemaal.
Woops, is een beetje uitgebreid geworden, maar is nu tenminste duidelijk lijkt me.