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
Solved

microsoft access 2003 packaged install failing w/ errors

Posted on 2010-08-14
15
338 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
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

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

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

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

Experts-Exchange is a great place to come for help with solutions for your database issues, and many problems are resolved within minutes of being posted.  Others take a little more time and effort and often providing a sample database is very helpf…
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 views 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 Access…
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …

860 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