Verwijderd schreef op donderdag 10 april 2008 @ 22:42:
optie 1: Je vuurt een losse update query uit bij het onchange event van dit combo boxje
deze methode gebruik ik op het moment, alleen met de eerste query zijn alle velden locked dus kan ik het combo boxje(voldaan) niet wijzigen in iets anders.
Ehm, je kan ze standaard niet wijzigen dus waar slaat de lock op? Btw is het een read-lock of een write-lock?
Maar ik zou dus unlocken bij het tonen, bij een on-change zelf een lock op het record gooien dan eerst even checken of de waarde in je formulier hetzelfde is als in je dbase ( oftewel heeft niemand anders hem stiekem op voldaan gezet ) indien gelijk dan veranderen en lock verwijderen. Indien ongelijk dan visuele waarde veranderen, error afhandeling in werk zetten en lock verwijderen.
optie 2: Je haalt het voldaan op met een subquery, deze kan wel gekoppeld worden aan je gegevens.
het probleem met een subquery in me forum is dat het type formulier wordt aangepast
huidig is doorlopend formulier (alle records onder elkaar)
zo gouw ik een subformulier(query) toevoeg wordt het type aangepast naar enkelvoudig formulier dus elke regel op een pagina
Snap je ook waarom access dit doet? Want ik ken access niet zo goed, maar ik kan de beweegreden erachter wel heel goed begrijpen, in wezen lock jij een heleboel records en maak je het een 2e persoon onmogelijk om dit overzicht ook in beeld te krijgen ( of een willekeurig record uit dit overzicht ) enkel en alleen maar om 1 vinkje te kunnen zetten. En dan gaat het niet over 1 tabel, maar over meerdere tabellen.
Wat jij in wezen nu verwacht is dat niemand meer iets in de urenregistratie mag doen aan een niet voldaan project ( dit valt nog enigszins te begrijpen ), maar niemand mag ook meer iets met een materiaal doen wat bij een niet voldaan project hoort.
Als je gaat normaliseren ( vb. aparte werkgevers tabel, aparte werknemers tabel, aparte lonen tabel ) dan heb je risico dat opeens het halve bedrijf niets meer kan doen omdat jij dit overzicht in beeld hebt.
Zoals Creepy al zegt, jij select hier alleen maar gegevens en vanwege de formuliermagie van access kan je dit ook editten.
Of je bouwt het om naar een behoorlijk systeem waarbij je niet vertrouwt op formuliermagie ( want zoals jij het wilt lockt dit veel te veel ) en gebruik je selects om je data op te halen, en updates om je data te veranderen. Is iets meer werk, maar mits je aan goede errorchecking en handling doet los je het vele malen netter op.
Of je verandert het locking mechanisme van access, dat hij niets meer lockt, dan kun je de formulier magie blijven gebruiken, je kan optie 1 gebruiken, alleen als je dan met zijn 2en in dit formulier aan de gang bent dan durft waarschijnlijk niemand te zeggen wat er als eindresultaat gaat komen. ( Het locking mechanisme is ergens 1-2-3 te veranderen, alleen wat ik altijd zie is dat als er dan 2 mensen in 1 record werken dat dan de 1e voor piet snot heeft zitten werken zonder waarschuwing / melding / iets )
optie 3: zelfde als optie 2
[/quote]