[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now


microsoft access 2003 packaged install failing w/ errors

Posted on 2010-08-14
Medium Priority
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,

Question by:OliverTGriswold
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 9
  • 6
LVL 85
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?

Author Comment

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.

LVL 85

Accepted Solution

Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 2000 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.
Veeam Disaster Recovery in Microsoft Azure

Veeam PN for Microsoft Azure is a FREE solution designed to simplify and automate the setup of a DR site in Microsoft Azure using lightweight software-defined networking. It reduces the complexity of VPN deployments and is designed for businesses of ALL sizes.


Author Comment

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.

LVL 85
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?

Author Comment

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.

Author Comment

ID: 33438873
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

LVL 85
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).

Author Comment

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.

LVL 85
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.

Author Comment

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

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


Author Comment

ID: 33445408
the 500 points are to be awarded to LSMConsulting but they don't appear to have been so awarded. please fix. thanks...
LVL 85
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.

Author Comment

ID: 33455898
closing with proper points awarding hopefully!

Author Closing Comment

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

Featured Post

Enroll in October's Free Course of the Month

Do you work with and analyze data? Enroll in October's Course of the Month for 7+ hours of SQL training, allowing you to quickly and efficiently store or retrieve data. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If you need a simple but flexible process for maintaining an audit trail of who created, edited, or deleted data from a table, or multiple tables, and you can do all of your work from within a form, this simple Audit Log will work for you.
This article shows how to get a list of available printers for display in a drop-down list, and then to use the selected printer to print an Access report or a Word document filled with Access data, using different syntax as needed for working with …
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…

650 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