Plots lukt het niet meer om na het afsluiten van uw Access programma het programma opnieuw te starten...
Deze blog gaat over Access. Wat wordt het... leuk of toch vervelend?
Oplossing
Af en toe kom je enkele eigenaardigheden tegen die je het leven wat moeilijker maakt.
Op een bepaald moment kwam ik erachter dat mijn programma niet meer wilde opstarten na het beëindigen.
Heel snel bleek dat msaccess.exe nog aktief bleef na het afsluiten.
Geen lock files te zien en toch bleef het proces nog aktief...
Na de obligate forum bezoeken en het veelvuldig aanpassen van de code kwam ik tot volgende conclusies:
Er werd al heel veel geschreven hoe je geopende recordsets moet sluiten.
Wat je finaal moet weten: blijkbaar hebben we goed betaald voor de zogenaamde GARBAGE COLLECTOR.
De Garbage Collector in Windows zorgt er zelf voor om Recordsets te sluiten.
Je hoeft dat dus niet zelf te doen!
De commando's na Set db = ... en Set Rs = ...
Rs.Close
Set Rs = Nothing
Set db = Nothing
zijn dus niet noodzakelijk!
Integendeel, als je zelf voor garbage collector speelt kan dat tot foutmeldingen leiden.
Wanneer je het commando Application.Quit uitvoert dan wordt de Garbage Collector aangeroepen.
Alle variabelen worden gereset en dan start de shutdown procedure.
Als er nog een formulier open staat, wordt een poging gedaan om dit te sluiten.
De database sluit dus wel degelijk maar het proces msaccess.exe blijft open als een background proces.
Iemand kwam erop dat de fout te wijten was aan een proces genaamd EoAExperiences.exe.
Het zogenaamde Ease of Access (heeft met MS ACCESS eigenlijk niets te maken).
Je kan de fout reproduceren door volgende handelingen uit te voeren:
Ga naar instellingen (settings)
Kies Toegankelijkheid (Ease of Access)
Tekstcursor (Text Cursor)
Schakel Tekstcursorindicator aan (text cursor indicator)
Dit start %windir%\system32\EoAExperiences.exe
Sluit uw Access database
Het Lock bestand *.laccdb zal sluiten
Het Lock bestand %AppData%\Microsoft\Access\system.ldb blijft open
Proces msaccess.exe blijft open als achtergrond proces.
Peter Van Belle