Mark A Matte
markamatte at hotmail.com
Fri Feb 16 09:15:45 CST 2007
Thanks Everyone, for all of the feedback!!!
I'l dive back in now.
Thanks Again,
Mark A. Matte
>From: Jim Lawrence <accessd at shaw.ca>
>Reply-To: Access Developers discussion and problem
>solving<accessd at databaseadvisors.com>
>To: "'Access Developers discussion and problem
>solving'"<accessd at databaseadvisors.com>
>Subject: Re: [AccessD] Missing references
>Date: Thu, 15 Feb 2007 16:08:21 -0800
>
>Hi Mark:
>
>You could scan through the entire source and then all the destination
>application references by using a module as follows:
>
>This function can be used to first scan for the required references as;
>
>CheckReferences
>
>...or check for a specific for a specific references like;
>
>...
>
>If CheckReferences("MSWORD10.OLB", False) = False Then
>
>...
>
>I traditionally have the 'CheckReferences' auto run when the application is
>initialized. This should at least direct you to the specific missing
>reference(s).
>
><Code>
>Public Function CheckReferences(Optional strSpecificReference As String, _
> Optional bolAddFlag As Boolean) As Boolean
>
> Dim strMessage As String, strFullMessage
> Dim strTitle As String, strFullPath As String
> Dim refItem As Reference
> Dim bolRefExists As Boolean
> Dim bolBrokenRef As Boolean
> Dim i As Integer, intStartPosition As Integer
>
> On Error Resume Next
>
> If IsNull(bolAddFlag) Then bolAddFlag = False
> If IsNull(strSpecificReference) Then strSpecificReference = ""
> bolRefExists = False
> bolBrokenRef = False
> strFullPath = ""
> strMessage = ""
> strFullMessage = ""
>
> CheckReferences = False
>
> For Each refItem In References
> With refItem
> If .IsBroken = True Or InStr(1, .FullPath, "failed") > 0 Then
> If Len(strSpecificReference) > 0 Then
> If InStr(1, .FullPath, strSpecificReference) > 0 Then
>bolBrokenRef = True
> End If
>
> strMessage = "MISSING Reference: " & .Name & vbCrLf _
> & "Location: Could not be found!" & vbCrLf
> Else
> If Len(strSpecificReference) > 0 Then
> If InStr(1, .FullPath, strSpecificReference) > 0 Then
> bolRefExists = True
> ElseIf bolAddFlag = True Then
> If .Name = "Access" Then
> intStartPosition = Len(.FullPath)
> For i = intStartPosition To 1 Step -1
> If InStr(i, .FullPath, "\") > 0 Then
> strFullPath = Left(.FullPath, i) &
>strSpecificReference
> Exit For
> End If
> Next i
> End If
> End If
> End If
>
> strMessage = "Reference: " & refItem.Name & vbCrLf _
> & "Location: " & .FullPath & vbCrLf
> End If
> End With
>
> If Len(strFullMessage) > 0 Then
> strFullMessage = strFullMessage & vbCrLf & strMessage
> Else
> strFullMessage = strMessage
> End If
> strMessage = ""
> Next refItem
>
> If Len(strFullMessage) > 0 Then
> If Len(strSpecificReference) > 0 Then
> If bolAddFlag = False Then
> CheckReferences = bolRefExists
> Else
> If bolRefExists = True Then
> CheckReferences = bolRefExists
> ElseIf bolBrokenRef = True Then
> CheckReferences = False
> Else
> Set refItem = References.AddFromFile(strFullPath)
> If Err.Number = 0 Then CheckReferences = True
> End If
> End If
> Else
> strFullMessage = strFullMessage & vbCrLf & "PLEASE record
>Information before Exiting."
> MsgBox strFullMessage, vbInformation
> End If
> End If
>
>End Function
></Code>
>
>The previous code worked great for resolving remote client installation
>problems.
>
>HTH
>Jim
>
>
>-----Original Message-----
>From: accessd-bounces at databaseadvisors.com
>[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Mark A Matte
>Sent: Thursday, February 15, 2007 2:02 PM
>To: accessd at databaseadvisors.com
>Subject: Re: [AccessD] Missing references
>
>Thanks John,
>
>I'm not referencing any other app or docs...I was referring to when you are
>in a module and goto TOOLS---REFERENCES...and there is something missing or
>incorrect.
>
>Is binding relevant at this point? If not...back to the original
>question:...how to handle the 'missing'???
>
>Am I still confused>..lol...???
>
>
>Thanks,
>
>Mark A. Matte
>
>
> >From: "JWColby" <jwcolby at colbyconsulting.com>
> >Reply-To: Access Developers discussion and problem
> >solving<accessd at databaseadvisors.com>
> >To: "'Access Developers discussion and problem
> >solving'"<accessd at databaseadvisors.com>
> >Subject: Re: [AccessD] Missing references
> >Date: Thu, 15 Feb 2007 16:56:40 -0500
> >
> >BTW, you can use BOTH early binding and late binding by wrapping TWO sets
> >of
> >dim statements in #if statements:
> >
> >#Const EARLYBINDING = True
> >
> >#If EARLYBINDING = -1 Then
> >Private mxlApp As Excel.Application
> >Private mXLWB As Workbook
> >Private mXLWS As Worksheet
> >#Else
> >Private mxlApp As Object
> >Private mXLWB As Object
> >Private mXLWS As Object
> >#End If
> >
> >Now you can simply set EARLYBINDING to TRUE (-1) and the compiler will
>dim
> >the objects at compile time.
> >
> >Set EARLYBINDING to 0 and the compiler will dim the objects at run time.
> >
> >I do this so that I can use early binding during development, and then
>just
> >"throw a switch" to use late binding for runtime on the actual user's PC.
> >Of course you have to do that everywhere you want to bind such objects,
> >inside of functions that dim local objects, in the header for global
> >objects
> >etc.
> >
> >Once it is set up though it works very sweet.
> >
> >And Oh By The Way, there is a GLOBAL (to every module in the library) way
> >to
> >do this:
> >
> >In the VB Editor, click Tools / MyContainer Properties (the bottom menu
> >item)
> >In the General tab there is a "Conditional Compilation Arguments" where
>you
> >could define your EarlyBinding constant.
> >
> >Doing it there causes ALL MODULES that use that constant to switch from
> >early binding to late binding and back.
> >
> >Very handy!!!
> >
> >John W. Colby
> >Colby Consulting
> >www.ColbyConsulting.com
> >
> >-----Original Message-----
> >From: accessd-bounces at databaseadvisors.com
> >[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bryan
>Carbonnell
> >Sent: Thursday, February 15, 2007 4:38 PM
> >To: Access Developers discussion and problem solving
> >Subject: Re: [AccessD] Missing references
> >
> >On 2/15/07, Mark A Matte <markamatte at hotmail.com> wrote:
> >
> > > Since I'm not versed in Binding(Late or Early) ...I've looked at MS
> > > knowledge base...and most of what I found was problems and fixes.
> > >
> > > Any suggestions for 'crash course READING' in bindings?
> >
> >Here's a quick description that I lifted from an article I wrote
> >http://www.databaseadvisors.com/newsletters/newsletter072002/0207wordautoma
>t
> >ionlpt1.asp
> >
> >
> >Early Binding Versus Late Binding
> >
> >First you need to decide whether to use Early Binding or Late Binding.
> >Early Binding allows you to dimension variables by their specific data
> >type.
> >For example, the following declarations refer to the Word Application and
> >Document objects rather than declaring both as generic
> >objects:
> >
> >Dim objWord as Word.Application
> >Dim doc as Word.Document
> >
> >Early Binding also enables a few built-in Intelli-sense features: Auto
> >Complete, Auto List Members, and Auto Quick Info. In addition, using
>early
> >binding allows you to view Word's object model in the Object Browser.
> >
> >The downside to Early Binding is that you have to set a reference to a
> >specific version of Word. Sometimes Access is smart enough to change the
> >reference to the specific version of Word that is installed on the PC you
> >are deploying your application; often it isn't, and you could end up with
> >problems relating to the references.
> >
> >If you decide to use Late Binding, you will have to dimension all of your
> >variables as Objects as follows:
> >
> >Dim objWord as Object
> >Dim doc as Object
> >
> >Consequently, you cannot access any of your variables until you set them
>to
> >a specific object as shown below:
> >
> >Set objWord = CreateObject("Word.Application") Set doc =
> >objWord.Documents.Open("C:\Path\To\file.doc")
> >
> >In addition, the Intelli-sense features, Auto Complete, Auto List
>Members,
> >Auto Quick Info and disables viewing of Word's object model in the Object
> >Browser. However, Late Binding doesn't require that you set a reference
>to
> >any Word Object Library, which can be advantageous if you are deploying
> >run-time versions of your application to mixed OS/Office Version
>platforms.
> >
> >Instead of choosing one or the other, we suggest you compromise and use
> >both. During the development phase use Early Binding. Once you release
>the
> >application, remove all specific references and change each to Object-the
> >best of both worlds!
> >
> >Now that the binding issue is resolved, let's roll up our sleeves and
>dive
> >into writing some code.
> >
> >
> >
> >--
> >Bryan Carbonnell - carbonnb at gmail.com
> >Life's journey is not to arrive at the grave safely in a well preserved
> >body, but rather to skid in sideways, totally worn out, shouting "What a
> >great ride!"
> >--
> >AccessD mailing list
> >AccessD at databaseadvisors.com
> >http://databaseadvisors.com/mailman/listinfo/accessd
> >Website: http://www.databaseadvisors.com
> >
> >--
> >AccessD mailing list
> >AccessD at databaseadvisors.com
> >http://databaseadvisors.com/mailman/listinfo/accessd
> >Website: http://www.databaseadvisors.com
>
>_________________________________________________________________
> >From predictions to trailers, check out the MSN Entertainment Guide to
>the
>Academy Awards.
>http://movies.msn.com/movies/oscars2007/?icid=ncoscartagline1
>
>
>--
>AccessD mailing list
>AccessD at databaseadvisors.com
>http://databaseadvisors.com/mailman/listinfo/accessd
>Website: http://www.databaseadvisors.com
_________________________________________________________________
The average US Credit Score is 675. The cost to see yours: $0 by Experian.
http://www.freecreditreport.com/pm/default.aspx?sc=660600&bcd=EMAILFOOTERAVERAGE