Solved

microsoft access 2003 packaged install failing w/ errors

Posted on 2010-08-14
15
335 Views
Last Modified: 2013-11-27
i'm trying to install an older ms access 2003 package on new workstations and am getting the following error thrown when running the application:

Error #438: Object doesn't support this property or method

these are legacy programs that were last installed on new systems a year and a half ago. nothing has changed and the new workstations are running the same windows xp pro sp3 (albeit with more recent patches presumably?).

i've checked the mdac (v2.8 sp1 on windows xp sp3 across all machines), the comdlg32.ocx (v6.00.8877 across all machines) and the msado15.dll (v2.81.1132.0 across all machines). they all seem to match up.  

the workstations are windows xp running microsoft office 2000 and also have another legacy access97 app running. again, all of this worked just fine a year and a half ago when the last new installation was done and all legacy machines currently run fine with this arrangement.

any thoughts as to what is causing these new errors from a package that previously installed and ran just fine?

thanks much,

oliver...
0
Comment
Question by:OliverTGriswold
  • 9
  • 6
15 Comments
 
LVL 84
ID: 33436307
You mention that you are running "microsoft office 2000" - are you sure of that, or is that a typo?

Can you pinpoint the line of code that throws this error? That's going to be critical to finding the issue.

Often things like this are reference errors (and the common dialog control is notorious for that, which is why most devs don't use it). Are you certain that your references are correct? Can you list out your references.

Is there a full version of Office installed on the machines?
0
 

Author Comment

by:OliverTGriswold
ID: 33436485
yes, these machines are running full Office 2000 Pro for other legacy stuff (this is a pretty ancient setup). they also run Access97. again, all seems to run okay save for these new systems i'm trying to get up to speed.

i'm thinking that this is most likely a hotfix conflict. this other expert's question -- http://goo.gl/gh6Z -- references a similar scenario where KB958687 and KB960715 threw error 438s. unfortunately, my working legacy machines have these patches and work just fine.

the code compiles with no errors on my development machine. i'll get the references shortly (there are no "missing" references).

basically these are legacy apps that no one wants to put any money into to upgrade so i'm trying to ascertain whether or not there is a simple way to get the new workstations to conform to the application limitations.

thanks...
0
 
LVL 84

Accepted Solution

by:
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 500 total points
ID: 33436528
You'd only have "MISSING" on the enduser machine, of course.

I'm sure you can get this to work, but we'll have to figure out exactly what's causing it first.

Are these databases in the 2000 format? You mention that you are working with Access 2003, but then you said that Office 2000 is installed on the machine.

Error 438 is quite broad is scope, and can mean any number of things. We must focus that message and find out exactly which Object it's referring to.
0
 

Author Comment

by:OliverTGriswold
ID: 33436586
using access 2003 as frontend to microsoft sql server 7.0.

i've attached screen clip of references.

i will pinpoint what part of code is throwing the error 438.

thanks...
Capture-references.PNG
0
 
LVL 84
ID: 33436604
Hmm ... those are about as basic a set of references as you can get <g>.

You mentioned, however, the common dialog control. This should also generate a reference, and i don't see that reference.

You also mention MDAC, which typically will generate the ADO reference. I don't see that either.

Does your database make use of the CommonDialog control, or of MDAC/ADO?
0
 

Author Comment

by:OliverTGriswold
ID: 33436978
sorry, the app i'm specifically referencing here does not use the MDAC or the common dialog (i've other apps with that but we'll stay focused on this one for the moment). i was kinda reduced to shotgunning for solutions as i was / am stymied. haven't looked at this stuff in a *long* time.
0
 

Author Comment

by:OliverTGriswold
ID: 33438873
this is the code that is throwing the 438 error. anything look obviously suspicious?

thanks...
Public Function RepriceThisOrder(Meform As Variant)
On Error GoTo PROC_ERR
'   Order Complete; Reprice it (and any that are in its "group").
    Dim Sstring As String, PrGroup As String
    
    Sstring = "[Ornbr] = """ & Meform.Ornbr & """"
    PrGroup = Nz(DLookup("Map", "tblOrderHeader", Sstring), "")
    If (PrGroup <> "") Then
        Sstring = GetExtendedReprice(PrGroup)
        End If
        
    Meform.RepriceBar.Max = 1
    Meform.RepriceBar.Value = 0
    Meform.RepriceLabel.Visible = True
    Meform.RepriceBar.Visible = True
    Meform.Repaint
    Call RepriceOrders(Sstring, Meform.RepriceBar)
    Meform.RepriceBar.Visible = False
    Meform.RepriceLabel.Visible = False
    
PROC_EXIT:
    Exit Function
PROC_ERR:
    MsgBox "Object: LocalOEFormsFunctions (Code)" & vbCrLf & _
           "Sub: RepriceThisOrder" & vbCrLf & _
           "Error #" & err.number & ": " & err.Description
    Resume PROC_EXIT
End Function

Open in new window

0
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 
LVL 84
ID: 33439877
Not really, although it's odd to see a Variant being passed in with no checks to see if that object is actually an expected item. It would seem that you'd pass in a Form object, since that's what the sub expectes to see. If I had to guess, I'd say that's where your error is coming from - the calling procedure isn't passing in the correct type of object (i.e. a Form).
0
 

Author Comment

by:OliverTGriswold
ID: 33440496
yes, it's not the cleanest code (i inherited it; yay! ).

i plowed through the code and found a buried offending control. again, don't know why it worked fine with the older machines but i've simply commented it out at this point to bypass the issue. if time & $s allow i'll see about replacing it down the road but it's not critical for the functioning.

thanks for your help and i'll see if i can figure out how to give you points as you certainly emphasized the import of looking into the code to see if it could be solved more easily that aways as opposed to trying to figure out what hotfix did what when.

thanks!
0
 
LVL 84
ID: 33440678
What control was giving you trouble? Just curious really.

Also, you assigned 0 points for this question. There's a bug in the closure process (EE is working on it), but if you'd like to award points, Object to this action and ask the Moderators to do it for you.
0
 

Author Comment

by:OliverTGriswold
ID: 33445403
the control was a progress bar: COMCTL.ProgCtrl.1

i'll check with the moderators to get the points properly allocated.

thanks!
0
 

Author Comment

by:OliverTGriswold
ID: 33445408
the 500 points are to be awarded to LSMConsulting but they don't appear to have been so awarded. please fix. thanks...
0
 
LVL 84
ID: 33450686
Just a side note: You'll have a lot more troubles with those non-compliant controls as you move forward into 2007 and 2010. You would be well advised to move away from them as time permits.
0
 

Author Comment

by:OliverTGriswold
ID: 33455898
closing with proper points awarding hopefully!
0
 

Author Closing Comment

by:OliverTGriswold
ID: 33455918
problem was an old control which was throwing the error presumably because a more recent hotfix stomped it.
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Suggested Solutions

The first two articles in this short series — Using a Criteria Form to Filter Records (http://www.experts-exchange.com/A_6069.html) and Building a Custom Filter (http://www.experts-exchange.com/A_6070.html) — discuss in some detail how a form can be…
Today, still in the boom of Apple, PC's and products, nearly 50% of the computer users use Windows as graphical operating systems. If you are among those users who love windows, but are grappling to keep the system's hard drive optimized, then you s…
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now