[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1928
  • Last Modified:

Adding reference to acwzmain.mde in Access 2003 runtime

Hi

I have an Access application that requires the reference acwzmain. This used to invoke the mailing lables dialog in my application.

I install the Access application to client's systems using Installshield 11.5 with the Sagekey object. On some user's systems I get an error message that the requested type library or wizard is not a VBA project.

On discecting the application I believe it relates to the reference acwzmain not being installed correctly.

Using the installshield 11.5 with the Sagekey object I install a runtime version of my application. This is installed to C:\program files\Microsoft Access Runtime folder. I also install the acwzmain.mde to C:\program files\Microsoft Access Runtime\Office11 folder. The reference in the Access application is to C:\program files\microsoft office\office11\acwzmain.mde

I am unable to change this reference to C:\program files\Microsoft Access Runtime\Office11\acwzmain.mde. Therefore if the client system does not have Microsoft Office installed or an earlier version I get an error.

Can anyone figure out away of fixing this, short of removing the reference altogether and therefore losing the functionality of have the mailing label wizard working in my application.

Many thanks
0
dogster
Asked:
dogster
  • 2
2 Solutions
 
rockiroadsCommented:
Thois may be a reference issue, if u use different office versions, that can often break references
If u made it for Office11 (is that Office 2003?) and they on an earlier version, then that could be it

Ive some code that u can use which helps checks for broken references, perhaps u can run this (say via a form/command button)

all u need to do is select from any table that u have

Public Function Install_CheckReferences(ByVal fCaller As Form) As Boolean
   
    Dim db As Database, rs As Recordset
    Dim x
   
   
    On Error Resume Next
   
   
    Err.clear
    Set db = CurrentDb

    Err.clear
   
    ' Run the query qryTestRefs you created and trap for an error.
    Set rs = db.OpenRecordset("SELECT * FROM BACKLOG")
   
    ' The if statement below checks for error 3075. If it encounters the
    ' error, it informs the user that it needs to fix the application.
    ' Error 3075 is the following:
    ' "Function isn't available in expressions in query expression..."
   
    ' Note: This function only checks for the error 3075. If you want it to
    ' check for other errors, you can modify the If statement. To have
    ' it check for any error, you can change it to the following:
    ' If Err.Number <> 0
   
    If Err.Number = 3075 Or Err.Number = 3078 Or Err.Number = 3024 Then
        MsgBox ("This application needs to refresh its references.")
        Err.clear
        Install_CheckReferences fCaller
    End If
   
    rs.Close
    Set rs = Nothing
    Set db = Nothing
    Err.clear
   
    Install_CheckReferences = True
End Function


there is code that refreshes references but it canno tbe run on an MDE, what do u ship out MDB or MDE

here is the code anyway



Public Sub Install_RefreshReferences(Optional ByVal bByPassBroke As Boolean = False)
   
    Dim loRef As Access.Reference
    Dim intCount As Integer
    Dim intX As Integer
    Dim blnBroke As Boolean
    Dim strPath As String
    Dim bBroke As Boolean
   
    On Error Resume Next
   
   
    Err.clear

    'Count the number of references in the database
    intCount = Access.References.Count
   
    'Loop through each reference in the database and determine if the reference is broken.
    'If it is broken, remove the Reference and add it back.
    For intX = intCount To 1 Step -1
       
        Set loRef = Access.References(intX)
        Debug.Print loRef.name, loRef.FullPath
       
        'Dont do Access
        With loRef
           
            If bByPassBroke = False Then
                blnBroke = .IsBroken
                If blnBroke = True Or Err <> 0 Then
                    bBroke = True
                Else
                    bBroke = False
                End If
            Else
                bBroke = True
            End If
           
            If bBroke = True Then
                Err.clear
                strPath = .FullPath
                With Access.References
                    .Remove loRef
                    If Err.Number > 0 Then
                        If Err.Number <> 57101 Then  'Cant remove default reference
                            Debug.Print "Removal Failure (" & Err.Number & ") : " & Err.Description
                            MsgBox "Reference Removal Failure (" & Err.Number & ") : " & Err.Description, vbCritical, "Install"
                        End If
                        Err.clear
                    Else
                        .AddFromFile strPath
                        If Err.Number > 0 Then
                            Debug.Print "Insert Failure (" & Err.Number & ") : " & Err.Description
                            MsgBox "Reference Insert Failure (" & Err.Number & ") : " & Err.Description, vbCritical, "Install"
                        End If
                        Err.clear
                    End If
                End With
            End If
        End With
    Next
   
    Set loRef = Nothing
   
    MsgBox "References have been refreshed", vbInformation, "Install"
    Err.clear
   
    Exit Sub
   
rrError:
    MsgBox "Error " & Err.Number & " trapped." & vbCrLf & Err.Description, vbCritical, "Install"
End Sub


All code was based on code from Microsoft


0
 
rockiroadsCommented:
there is also a problem with Office2000


Microsoft has confirmed that there's a problem with the Access 2000 wizards. To find out if yours are missing, check your system for the following two files: acwzmain.mde and acwztool.mde. If you don't find either file, you can copy them from the Office 2000 CD. To do so, insert your Office or Access CD and open the folder Pfiles\Msoffice\Office\1033 You'll find both .mde files in this folder. Simply copy them both to the same folder in which you installed Office 2000 (the default folder is C:\Program Files\Microsoft Office). After copying the files, restart Access and try to use a wizard. Access may have to install the wizard first, but once that's done, the wizard should work just fine. For more information, review the support article at http://support.microsoft.com/support/kb/articles/Q242/2/18.asp. Also note, if the Small Business Tools have been installed, you'll need to take a different approach. First, close Access and insert your Office 2000 CD. Then, choose Settings from the Windows Start menu, and select Control Panel. Double-click Add/Remove Programs, select Office 2000, and click Add/Remove Programs. Choose Add Or Remove Features and then click the plus sign to the left of the Microsoft Access heading. At this point, click the Additional Wizards heading and choose Run All From My Computer. Finally, click Update Now, and when that's complete, you should be able to launch Access and find your wizards at home

0
 
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
I'm surprised the wizard works in the Runtime environment - if I'm not mistaken, the label wizard collects information and then builds a new report, and this isn't allowed with the runtime version of Access. That mde file contains several wizards - the form wizard, splitter wizard, as well as your label wizard - and while it may work on some runtime installs, it will eventually fail on others.

Not sure you can deploy the wizards with the runtime ... although I haven't seen anything that specifically states otherwise, I've also seen nothing that allows this (although I haven't looked very hard), but I don't have the ODE on this machine with the allowed files listing ...



0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now