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