Slet referencer i access markeret "missing" (Broken) via VBA
Jeg ser jævnligt hvis jeg går fra fx. en maskine med Excel ver. 9.0 til en med en ver. 10.0 opdateres ref. uden problemer. Men flyttes MDB med en ver. 10.0 ref. til en 9.0 version "knækker filmen" og dermed referencen. Jeg kan slette en reference så længe denne ikke er markeret som "missing" med koden:
Dim ref As Reference, Svar On Error Resume Next Set ref = References!Excel Access.References.Remove ref etc.
Og det er jo fint men jeg ville også gerne kunne slette en ref når den ER markeret som "Missing", kan nogen hjælpe her ?
If you move up from one version of Office to another then Access can see that it has to change to a new version in the references. But if you move down it can not.
You could try altering your code so that you dont use early binding
(Dim MyExcelObj as Excel.Application) but instead Dim MyExcelObj as Object
Hi Terry Thx for your reply, however I am using the "Object"-version but this code insists on the reference:
Dim Sel As Range On Error Resume Next If Forms!GrafTilExcel!Enkelt = False Then Set Sel = MyXL.ActiveWorkbook.Sheets(CNavn).Range("A" & Ant) Do While Not (Sel = "") .SeriesCollection(Ant - 2).Name = Sel Ant = Ant + 1 Set Sel = MyXL.ActiveWorkbook.Sheets(CNavn).Range("A" & Ant) Loop Etc.
Using the term: Dim Sel As Object iso: Dim Sel As Range seems to solve the problem ....
As it did solve the imidiate problem it did not solve the initial problem of how to "kill" a missing link. I still think that I owe you 60 points for directing me in the right direction (so to speek). How I give you the points without closing the qouestion I do not know.... I will try to figure that one out to ;-) Thx Terry
Herman-> Du kan slette alle "Missing" references således:
Dim n As Long For n = 1 To Application.References.Count If Application.References(n).IsBroken Then Application.References(n).Collection.Remove Application.References(n) End If Next n
Hej Thomas Tak for din kode, jeg har tidligere prøvet lignende koder, egne og ting jeg har fundet på nettet, .... uden held. Jeg kan sagtens fjerne "ikke missing" referencer, men idet en ref er markeret som missing bliver den ligesom "låst" og kan IKKE fjernes i hvertfald ikke i A2K, desværre heller ikke med din kode. Og jeg forstår ikke hvorfor :-) gør du ? /Herman
hmm, jeg har selv brugt koden flere gange uden problemer. Du skal sikre dig, at koden køres som det allerførste - inden applikationen kommer rigtig i gang (f.eks. i Autoexec).
Hej Thomas Præcis min fremgangs måde..... men den vil ikke :-) Hvad kan jeg gøre galt?? Function ChkRefExcel() Dim Ref As Reference, Svar, N As Long On Error Resume Next
For N = 1 To Application.References.Count If Application.References(N).IsBroken Then Application.References(N).Collection.Remove Application.References(N) End If Next N 'Jeg har også prøvet denne: Set Ref = References!Excel Access.References.Remove Ref References.AddFromGuid "{00020813-0000-0000-C000-000000000046}", 1, 3 'Excel ver 9
hmm, jeg har ikke rigtig mulighed for at afprøve det for tiden, da jeg selv benytter ver. 2003 på begge mine maskiner. Så det er svært for mig, at simulere et eks.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.