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
>