Ik krijg de foutmelding niet helemaal gereproduceerd, maar snap eigenlijk niet wat de procedure voor Absentie nu eigenlijk zou moeten doen.... Ik heb hem een paar keer gedraaid, en krijg inderdaad wel foutmeldingen, maar meestal wordt er wel een record opgeslagen in de tabel Absentie. Dus je zou kunnen zeggen: hij doet 't!
Wel krijg ik ook formulier fouten, en dat verbaast me eigenlijk niks, want met de verschillende macro's worden er om de haverklap formulieren geopend, maar niet of niet goed gesloten, en vervolgens weer geopend, terwijl er zo her een der ook nog een query wordt gedraaid... Het loopt kortom niet echt lekker...
Wat je daar aan moet doen? Om te beginnen: als je afbeelding 1 bekijkt, zie je dat je geen enkele check hebt op de datum die je wilt invoegen. Zowiezo mis ik datumvelden bij de verschillende projecten: je wilt toch minstens weten wanneer een bepaald project begint/eindigt? En er voor zorgen dat je alleen
tussen begin- en einddatum absent kunt zijn? En verder wordt er ook niet gefilterd op de
dagen dat je absent kunt zijn. Als een cursus op Woensdag is, moet je een absentie kunnen opgeven voor woensdag, niet voor dinsdag of donderdag.
Verder valt mij op, dat je een formulier opent waar verder niks mee gebeurt. (Afbeelding 2) Ik krijg de indruk dat je dat doet om gegevens over te halen naar een query. En dat komt weer omdat je overal macro's gebruikt... Alles bij elkaar is het een bijna niet meer te onderhouden systeem, zoals je al hebt gemerkt

De vraag is, waarom dat formulier opent, en waarom je de gegevens niet van het oorspronkelijke formulier uit afbeelding 1 haalt. Dan kan dat formulier wegblijven, en dat scheelt weer.
Ik zou je ook willen aanraden, om alle macro's eerst een zinvolle naam te geven, die je dan gebruikt, en liever nog om ze om te zetten naar VBA en vervolgens alle macro's verzamelen op de formulieren waar je ze nodig hebt. Dat is voor het onderhoud een stuk makkelijker, en uiteindelijk kun je ook veel meer doen met de acties, want je kunt veel makkelijker variabelen meegeven, om maar iets te noemen.