Hey,
Ik ben eigenlijk op zoek naar de code die mij toelaat om een dao connectie na een bepaalde tijd terug af te sluiten. Ik heb een addin gemaakt waar een heleboel functies zitten om zo data uit de dbase te halen. Maar in sommige excelsheets worden deze functies heel veel gebruikt, het is niet de bedoeling om elke keer een functie w uitgevoerd de link met de dbase w geopend en weer gesloten. De bedoeling is om na verloop van tijd de dao af te sluiten. Ik heb dit geprobeerd via onderstaande code ... nu dit lukt zo lang als ik de macro CloseJN in de code uitvoer. Als ik via de functie isin werk dan lukt het niet ... als je de functie laat lopen via het immediate window dan lukt het soms wel ...
Iemand een superingeving??
de aangepaste code van de addin:
Ik ben eigenlijk op zoek naar de code die mij toelaat om een dao connectie na een bepaalde tijd terug af te sluiten. Ik heb een addin gemaakt waar een heleboel functies zitten om zo data uit de dbase te halen. Maar in sommige excelsheets worden deze functies heel veel gebruikt, het is niet de bedoeling om elke keer een functie w uitgevoerd de link met de dbase w geopend en weer gesloten. De bedoeling is om na verloop van tijd de dao af te sluiten. Ik heb dit geprobeerd via onderstaande code ... nu dit lukt zo lang als ik de macro CloseJN in de code uitvoer. Als ik via de functie isin werk dan lukt het niet ... als je de functie laat lopen via het immediate window dan lukt het soms wel ...
Iemand een superingeving??
de aangepaste code van de addin:
Public db As DAO.Database
Public dbAlreadyOpen As Boolean
Public path As String, naam As String, check As String
Public Endtime
Public rtime As Boolean
Function Closecon()
If Not db Is Nothing Then
db.Close
Set db = Nothing
End If
dbAlreadyOpen = False
ActiveWorkbook.Sheets(1).Tab.ColorIndex = 3
End Function
Sub CloseJN()
If Not dbAlreadyOpen Then
'Set db = DAO.OpenDatabase(file)
dbAlreadyOpen = True
ActiveWorkbook.Sheets(1).Tab.ColorIndex = 4
End If
If rtime = True Then
On Error Resume Next
Application.OnTime _
EarliestTime:=Endtime, _
Procedure:="Closecon", _
Schedule:=False
rtime = False
End If
Endtime = Now + TimeValue("00:00:20")
RunTime
End Sub
Sub RunTime()
Application.OnTime _
EarliestTime:=Endtime, _
Procedure:="Closecon", _
Schedule:=True
rtime = True
End Sub
Function isin(internalnumber As Variant)
Application.Volatile (False)
'Dim db As DAO.Database
''Dim rs As DAO.Recordset
''Dim recordstring As String
Run "CloseJN"
''recordstring = "SELECT Isin from Allecodes where Internal_number=" & internalnumber & ";"
''Set rs = db.OpenRecordset(recordstring, dbOpenSnapshot)
'isin = rs("Isin")
isin = "blabla"
''rs.Close
''if Not rs Is Nothing Then Set rs = Nothing
'db.Close
'If Not db Is Nothing Then Set db = Nothing
End Function
Laatst bewerkt: