Ik probeer mijn references kloppend te maken via VBA. Met hulp van internet lukt het prima. Echter zodra de code klaar is, of na het afsluiten van de database (via code) vergeet hij de aangepaste references (verwijzingen). In onderstaande code heb ik 3 sterretjes geplaatst. Als ik op die locatie een kopie maak van de database (na het pauzeren van de code), dan staat in de kopieer de verwijzingen goed. Echter als ik de code gewoon stop op die plaats, is hij alle nieuwe verwijzingen weer kwijt. Het lijkt wel dat ik de wijzigingen moet opslaan. Echter kan ik daar niets van vinden op internet.
Hier de gebruikte code.
Hier de gebruikte code.
Code:
Public Function WijzigVerwijzingenBestand1(vl_GekopieerdeDatabase As Database) As Boolean
Dim vl_AccessProject As Access.Application
Dim vl_Verwijzing As Access.Reference
Dim vl_VerwijzingNaam As String
Dim vl_VerwijzingBestandsNaam As String
Dim vl_VerwijzingLocatieBestand As String
Set vl_AccessProject = New Access.Application
With vl_AccessProject
.OpenCurrentDatabase vl_GekopieerdeDatabase.Name
For Each vl_Verwijzing In vl_AccessProject.References
vl_VerwijzingBestandsNaam = VBA.Mid(vl_Verwijzing.FullPath, VBA.InStrRev(vl_Verwijzing.FullPath, "") + 1)
vl_VerwijzingNaam = VBA.Left(vl_VerwijzingBestandsNaam, VBA.InStr(vl_VerwijzingBestandsNaam, ".") - 1)
vl_VerwijzingLocatieBestand = "\\wbtsbs01\accessdata$\Tankstanden\System"
vl_VerwijzingLocatieBestand = vl_VerwijzingLocatieBestand & DLookup("SubPath", "tblApplicaties", "BestandsNaam = '" & vl_VerwijzingBestandsNaam & "'")
If Left(vl_VerwijzingNaam, 7) = "Ecotank" Then
' Verwijder oude verwijzing
.References.Remove vl_Verwijzing
' Zet nieuwe verwijzing terug
.References.AddFromFile vl_VerwijzingLocatieBestand & "" & vl_VerwijzingBestandsNaam
End If
' End If
Next
End With
' Opschonen
' ***
vl_AccessProject.CloseCurrentDatabase
vl_AccessProject.Quit
Set vl_AccessProject = Nothing
' Terugmelding
WijzigVerwijzingenBestand1 = True
End Function
Laatst bewerkt door een moderator: