MartyConnelly
martyconnelly at shaw.ca
Tue Aug 8 14:25:28 CDT 2006
Grr, I am always mixing up Reference and References collection
Could try disambiguating the code like this
Dim refCurr As Access.Reference
Dim intCount As Integer
For intCount = Access.References.Count To 1 Step -1
Set refCurr = Access.References(intCount)
If Not refCurr.BuiltIn Then
If refCurr.IsBroken Then
'might want to check if it has a valid name otherwise skip
'or use on error next
' debug.print refCurr.name
Access.References.Remove refCurr
End If
End If
Next
Rocky Smolin - Beach Access Software wrote:
>P.S. This reference, when it's there, references a .exe. Don't know if
>that makes any difference.
>
>Rocky
>
>
>Gustav Brock wrote:
>
>
>>Hi Rocky
>>
>>Further to Charlotte's comments, I faintly recall you have to move backwards in the References collection:
>>
>>Public Function ReferencesClean() As Boolean
>>
>>' Remove all missing references.
>>' Return True if no reference was removed.
>>'
>>' 2001-08-20. Cactus Data ApS, CPH.
>>
>> Dim ref As Reference
>> Dim lngItem As Long
>> Dim booMissing As Boolean
>>
>> With References
>> For lngItem = .Count To 1 Step -1
>> Set ref = .Item(lngItem)
>> If ref.BuiltIn = True Then
>> ' No need to check built in reference.
>> ElseIf IsBroken97(ref) Then
>> .Remove ref
>> booMissing = True
>> End If
>> Next
>> End With
>>
>> Set ref = Nothing
>>
>> ReferencesClean = Not booMissing
>>
>>End Function
>>
>>Still, your code will be left non-compiled after this. A method to compile the code is described by Charlotte and me if you search the archives of July 2003 for:
>>"Broken References in Runtime AXP and A97"
>>
>>/gustav
>>
>>
>>
>>
>>>>>bchacc at san.rr.com 08-08-2006 19:46:07 >>>
>>>>>
>>>>>
>>>>>
>>Dear List:
>>
>>Still struggling with this references thing. It seem the easiest thing
>>to do would be to remove the missing reference in the Open event of the
>>opening form in the event the app is loaded onto a machine which doesn't
>>have the library. However, all the code that I've seen to remove
>>missing references fail. Code like:
>>
>>Dim refCurr As Reference
>> For Each refCurr In References
>> If refCurr.IsBroken Then
>> References.Remove refCurr
>> End If
>> Next
>>
>>Seems straightforward but when it comes to the missing reference it
>>errors out on the .Remove line because it doesn't have a name. So. How
>>do you remove a missing reference when the application the reference is
>>referring to doesn't exist?
>>
>>MTIA
>>
>>Rocky
>>
>>
>>
>>
>
>
>
--
Marty Connelly
Victoria, B.C.
Canada