• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Check of programma loopt

Status
Niet open voor verdere reacties.
Wat mij even van het hart moet bij deze vraag is het volgende... Ik heb namelijk het idee dat hier een héle vreemde actie wordt uitgevoerd. Namelijk het sluiten van het programma Access. Ik gok dat dat gedaan moet worden omdat in de procedure van Excel staat dat deze moet worden geopend en uiteraard gaat dat mis als die al open staat. Maarrrr... Voor hetzelfde geld stáát de benodigde database al open. Waarom zou je dan éérst de boel sluiten? Ik zou niet weten hoe je dat moet doen, maar het lijkt mij beter om te controleren of Access dus actief is EN welke database er draait.
Daarnaast meen ik me te herinneren dat je toch sowieso een database query kan opzetten naar Access? Volgens mij hoeft er dan helemaal niets meer te worden geopend of gesloten.

Een database bij een gebruiker "zomaar" sluiten vind ik trouwens volledig "not done". Je weet nooit waar de betreffende gebruiker mee bezig was. Zomaar sluiten kan dus tot beschadiging van je database leiden.
 
Laatst bewerkt:
Nog een vraagje ik wil de MSGbox alleen laten verschijnen wanneer Excel MS Acces daadwerkelijk sluit.
Is dit mogelijk ik heb de code nu zo maar werkt nog niet zoals ik wil.

Code:
Private Sub Workbook_Open()
Dim accAccess As Object
On Local Error Resume Next
Set accAccess = GetObject(, "Access.Application")
If Err.Number = 0 Then accAccess.Quit MsgBox
On Local Error GoTo 0
If Err.Number = 0 Then MsgBox "Desktop Lending is automatisch afgesloten voor een juiste werking van de tool"
ActiveSheet.Range("E18") = Environ("Username")
End Sub
 
Wat mij even van het hart moet bij deze vraag is het volgende... Ik heb namelijk het idee dat hier een héle vreemde actie wordt uitgevoerd. Namelijk het sluiten van het programma Access. Ik gok dat dat gedaan moet worden omdat in de procedure van Excel staat dat deze moet worden geopend en uiteraard gaat dat mis als die al open staat. Maarrrr... Voor hetzelfde geld stáát de benodigde database al open. Waarom zou je dan éérst de boel sluiten? Ik zou niet weten hoe je dat moet doen, maar het lijkt mij beter om te controleren of Access dus actief is EN welke database er draait.
Daarnaast meen ik me te herinneren dat je toch sowieso een database query kan opzetten naar Access? Volgens mij hoeft er dan helemaal niets meer te worden geopend of gesloten.

Een database bij een gebruiker "zomaar" sluiten vind ik trouwens volledig "not done". Je weet nooit waar de betreffende gebruiker mee bezig was. Zomaar sluiten kan dus tot beschadiging van je database leiden.

Deze veronderstelling klopt niet geheel er is in Excel een dataverbinding opgezet naar Acces waarbij de gegevens die op een sheet staan automatisch een refresh krijgen vanuit Acces.
Wanneer ik Acces dus niet sluit kan die refresh niet uitgevoerd worden.
 
Test het zo eens.
Code:
Private Sub Workbook_Open()
Dim accAccess As Object
On Local Error Resume Next
Set accAccess = GetObject(, "Access.Application")
   If Err.Number = 0 Then 
       accAccess.Quit 
       MsgBox "Desktop Lending is automatisch afgesloten voor een juiste werking van de tool"
   end if
on error goto 0
 ActiveSheet.Range("E18") = Environ("Username")

End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan