microsoft access 2003 packaged install failing w/ errors

Posted on 2010-08-14
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
  • 9
  • 6
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?

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 -- -- 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 84

Accepted Solution

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.
Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.


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

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

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

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

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

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
type of query 11 41
Modal form 11 29
Turn off MS Access Default=0 for Numerics 6 24
DCount Type Mismatch 2 21
Sometimes people don't understand why download speed shows differently for Windows than Linux.Specially, this article covers and shows the solution for throughput difference for Windows than a Linux machine. For this, I arranged a test scenario.I…
Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
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…
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…

813 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

15 Experts available now in Live!

Get 1:1 Help Now