Ik gebruik zelf geen 2007, dus het macro aspect moet je ergens anders vandaan halen..
De techniek werkt als volgt: je hebt een database nodig die, als die wordt geopend, een aantal handelingen achter elkaar uitvoert. Het beste kun je daar dus een aparte db voor maken, die je uiteraard wel kunt baseren op de produktie db.
De nieuwe db moet een aatal triggers hebben. Je wilt namelijk dat er een email wordt verstuurd. Dat betekent dus dat je waarschijnlijk (als je het met de hand doet) een formulier opent, eventueel een selectie maakt, en vervolgens op de knop Verzenden klikt.
In een automatische database moet dat met acties worden gedaan. Oftwel: als je de database opent moet het juiste formulier worden geopend, moet de selectie goed worden gezet, op de knop Verzenden worden geklikt (een actie die je uiteraard niet zo programmeert...) en moet het formulier worden gesloten. Eventueel heb je misschien nog een log tabel, waarin je bijhoudt wat er is gebeurd tijdens de sessie.
Als alle activiteiten zijn uitgevoerd, mag de db weer worden gesloten.
Over het algemeen kunnen deze handelingen verschillen in de uitvoertijd. De routine die je nodig hebt, moet daar uiteraard in voorzien. Je mag niet de actie DB sluiten uitvoeren, als er nog driftig gemaild wordt... In de VBA code bouw je dan ook vaak een loop in, zodat een activiteit pas wordt uitgevoerd als de vorige is voltooid. Op deze manier werkend kun je met een gerust hart een weekje weg, want de database doet de rest.
Wat je doet met Geplande Taken, is niks anders dan op een bepaalde dag en tijd de database openen. Je geeft derhalve de datum en tijd in van de actie, en de actie zelf: het openen van de database. Alle overige actie zit in de db. Vandaar een aparte database, want vanwege die acties kun je hem niet voor normaal gebruik openen. Hij gaat immers mailen, en sluit zichzelf daarna weer af.
Je zult het hele proces denk ik in VBA moeten doen, want ik denk niet dat je met macro's ver komt. Maar daar kan ik nu niet zo goed over oordelen, omdat ik 2007 in een hoek heb getrapt, en hem daar voorlopig nog even laat zitten...
Ik heb bij deze methodiek overigens zelf wel een paar keer gebouwd voor 2003 en 2000 db's en het werkt prima!