microsoft access 2003 packaged install failing w/ errors

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,

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
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?
OliverTGriswoldAuthor Commented:
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 -- -- 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.

Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
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.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
The Ultimate Tool Kit for Technolgy Solution Provi

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more!

OliverTGriswoldAuthor Commented:
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.

Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
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?
OliverTGriswoldAuthor Commented:
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.
OliverTGriswoldAuthor Commented:
this is the code that is throwing the 438 error. anything look obviously suspicious?

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
    Call RepriceOrders(Sstring, Meform.RepriceBar)
    Meform.RepriceBar.Visible = False
    Meform.RepriceLabel.Visible = False
    Exit Function
    MsgBox "Object: LocalOEFormsFunctions (Code)" & vbCrLf & _
           "Sub: RepriceThisOrder" & vbCrLf & _
           "Error #" & err.number & ": " & err.Description
    Resume PROC_EXIT
End Function

Open in new window

Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
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).
OliverTGriswoldAuthor Commented:
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.

Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
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.
OliverTGriswoldAuthor Commented:
the control was a progress bar: COMCTL.ProgCtrl.1

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

OliverTGriswoldAuthor Commented:
the 500 points are to be awarded to LSMConsulting but they don't appear to have been so awarded. please fix. thanks...
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
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.
OliverTGriswoldAuthor Commented:
closing with proper points awarding hopefully!
OliverTGriswoldAuthor Commented:
problem was an old control which was throwing the error presumably because a more recent hotfix stomped it.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.