[AccessD] Cannot set References in Access 97

Mark Breen marklbreen at gmail.com
Mon Feb 7 04:37:17 CST 2005


Hello Marty,

They look interesting, I will look at them and report back, thanks for that.

Mark



On Sun, 06 Feb 2005 13:18:19 -0800, MartyConnelly <martyconnelly at shaw.ca> wrote:
> The Access 97 basic default references are:
> 
> Visual Basic for Applications
> Microsoft Access 8.0 Object Library
> Microsoft DAO 3.5x Object Library
> 
> You might have switched to Microsoft DAO 3.6 Object Library instead of
> old default DAO 3.5
> both will work, but DAO 3.5 may not be available on some newer machines
> 
> Notes on references
> http://members.rogers.com/douglas.j.steele/AccessReferenceErrors.html
> 
> Try some of these routines and see if you get any meaningful error messages
> The first forces a reference to be added from code
> The rest list things like full path name of all references
> 
> Function ReferenceFromFile(strFileName As String, Optional Warning As
> Boolean) As Boolean
> ' To Call routine
> 'ReferenceFromFile "c:\Windows\System\vbscript.dll\3", True
> 'ReferenceFromFile "c:\windows\system\vbscript.dll\4",true
> ' This method is used to get at regular expression entry points  from
> vbscript
> 'The  code works with Access '97 all service packs, on NT4 and all
> service packs
> 'You know that adding a ref will cause a decompile? and hence won't work
> in mde.
> 'I gather you only use this when setting up a new install.
> 'BTW if possible supply the modules or library names when describing a
> AV, GPF, IIE
> 'i:e: Msaccess.exe, vba332.dll, myaxdll.dll etc
> 'visit www.trigeminal.com and check out the /decompile switch
> '- try it as per instructions and then try to add refs.
>    Dim ref As Reference
> 
>    On Error GoTo Error_ReferenceFromFile
>    Set ref = References.AddFromFile(strFileName)
>    ReferenceFromFile = True
> 
> Exit_ReferenceFromFile:
>    Exit Function
> 
> Error_ReferenceFromFile:
>    If Warning = True Then MsgBox Err & ": " & Err.Description
>    ReferenceFromFile = False
>    Resume Exit_ReferenceFromFile
> End Function
> 
> Function ReferencePropertiesList() As String
> 'list all references in a MDB and place in a string
>   Dim ref As Reference
>   Dim strList As String
>    strList = "Reference Properties:" & vbCrLf & vbCrLf
>   For Each ref In References
>      ' Check for ActiveX type files
>      'Check for Broken Properties
>      If ref.IsBroken = False Then
>        strList = strList & "  Name: " & ref.Name & vbCrLf
>        strList = strList & " FullPath: " & ref.FullPath & vbCrLf
>        strList = strList & " Version: " & ref.Major & "." & ref.Minor & _
>                   vbCrLf
> 
>          'skip these two calls if detail not needed
>         ' strList = strList & " Description: " & _
>                  GetFileDescription(ref.FullPath) & vbCrLf
>         ' strList = strList & " Version No: " & _
>                  FileVersionNo(ref.FullPath) & _
>                 vbCrLf & vbCrLf
>         Else
>        strList = strList & " GUIDs of broken references:" & vbCrLf
>        strList = strList & " " & ref.Guid & vbCrLf & vbCrLf
>       End If
>   'MsgBox GetFileDescription(ref.FullPath)
>   'MsgBox FileVersionNo(ref.FullPath)
>   Next ref
>   Debug.Print strList
>   ReferencePropertiesList = strList
> End Function
> 
> Sub testref()
> On Error GoTo err_fcbr
> Dim bln_broken As Boolean
> Dim LibObject   As Access.Reference
> 'VBA used to disambiguate call on startup to avoid vba reference call
> ' see kaplan's site
>    For Each LibObject In Application.References
>        If LibObject.IsBroken Or _
>        (LibObject.FullPath & "" = "") Or _
>        (LibObject.Name & "" = "") Then
>            bln_broken = True
>            If LibObject.Kind = 0 Then
>                VBA.MsgBox "TypeLib reference failure. Cannot Continue."
>            Else
>                VBA.MsgBox "Library Module not Found"
>            End If
>            Application.Quit
>            'this may not work anyway - it's an object reference.....
>        End If
>    Next
> 
> Exit Sub
> 
> err_fcbr:
>    VBA.MsgBox "CTM Error Information..." & VBA.vbCrLf & VBA.vbCrLf _
>                & "Function: CheckBrokenRef" & VBA.vbCrLf _
>                & "Description: " & Err.Description & VBA.vbCrLf _
>                , VBA.vbInformation, "CTM Startup"
> 
>    Application.Quit
>    Exit Sub
> End Sub
> 
> 'from
> http://support.microsoft.com/default.aspx?scid=KB;EN-US;q194374&ID=KB;EN-US;q194374
> Function CheckRefs()
>   Dim db As Database, rs As Recordset
>   Dim x
>   Set db = CurrentDb
> 
>   On Error Resume Next
> 
>   ' Run the query qryTestRefs you created and trap for an error.
>   Set rs = db.OpenRecordset("qryTestRefs", dbOpenDynaset)
> 
>   ' The if statement below checks for error 3075. If it encounters the
>   ' error, it informs the user that it needs to fix the application.
>   ' Error 3075 is the following:
>   ' "Function isn't available in expressions in query expression..."
> 
>   ' Note: This function only checks for the error 3075. If you want it to
>   ' check for other errors, you can modify the If statement. To have
>   ' it check for any error, you can change it to the following:
>   ' If Err.Number <> 0
> 
>    If Err.Number = 3075 Then
>      MsgBox "This application has detected newer versions " _
>             & "of required files on your computer. " _
>             & "It may take several minutes to recompile " _
>             & "this application."
>      Err.Clear
>      FixUpRefs
>   End If
> 
> Mark Breen wrote:
> 
> >Hello All,
> >
> >As you may have noticed from previous emails related to ADO etc, I am
> >have a fine ol' time with an old friend Access 97.
> >
> >Having offered the suggestion of moving to ADO and rolling it our
> >across 300 pc's!, and having taken your good advice (thanks again),
> >they assigned me the task.
> >
> >Anyway, I have done a little research and cannot wait to start calling
> >sprocs in Oracle 8i and passing parameters in and out using ADO and
> >Access 97.
> >
> >Only one problem, on my PC, (the one that I am using in the clients
> >office anyway), Access 97 with the latest sp and jet etc, will not let
> >me set references.  It crashes everytime I click Ok after choosing a
> >dll to reference.  It is not just ADO, in fact it happens with almost
> >all dlls in the list.
> >
> >I have tried it with new and existing db, btw.
> >
> >Now of course I can do some obvious things like use another PC or
> >format my pc or a lot of other heavy handed things, but I am consious
> >of the fact that any difficulties I experience may be experienced by
> >the other 300 - 400 users of the Access app.
> >
> >So, have you guys ever had any difficulties setting references in
> >Access 97?  or related information.
> >
> >Thanks as usual in advance for your time
> >
> >
> >Mark Breen
> >Ireland
> >
> >
> 
> --
> Marty Connelly
> Victoria, B.C.
> Canada
> 
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>



More information about the AccessD mailing list