Solved

How do I downgrade my MS Access version?

Posted on 2009-05-19
10
256 Views
Last Modified: 2012-05-07
I have an application that was developed using the version of MS Access on my machine (MS Access Version 12.0.6211.1000). Unfortunately it won't work properly on my user's version which appears to be older based on the version number (12.0.4518.1014). In have therefore created a virtual machine and loaded my original version of MS Access on it but it is still a different version to my users. My original version is Version 12.0.6304.5000 and my users have Version 12.0.4518.1014

Is there any way I can downgrade to their earlier version? I cannot realistically get my users to upgrade.
0
Comment
Question by:Rob4077
  • 4
  • 3
  • 3
10 Comments
 
LVL 84
Comment Utility
Your version simply has SP1 installed; it's quite common to require endusers to have the most recent version of Access, including service packs and assuming they are running licensed copies of Access the upgrade is free.

The versions for msaccess.exe for 2007 are:

Original Version:      12.0.4518.1014
Service Pack 1:      12.0.6211.1000

I'm not sure where you're getting the 6304.5000 from unless you've installed some hotfixes.

That said: what exactly isn't "working properly" on the end user machine? Unless you're doing something that was fixed by the Service Pack, your database should run on 2007 or 2007 + SP1 ... and if your database REQUIRES SP1, then it requires it, and therefore your users will be required to upgrade.

0
 
LVL 84
Comment Utility
0
 

Author Comment

by:Rob4077
Comment Utility
Thanks for your comments.

I have been using the function at the end of this post to determine the version number being used.  When I use that function or the one on the link you provided I come up with 12.0.6211.1000 for my working machine. However if I run that function on the virtual machine I created with the version of Access 2007 installed from my original install discs (without applying any upgrades) I come up with 12.0.6304.5000. However if I check the virtual machine using the MS Method it shows 12.0.4518.1014.

<<what exactly isn't "working properly" on the end user machine?>> One of the forms isn't displaying a subform. I have no idea why so I was hoping to install their version of MS Access on my machine so I could try to figure out why it won't display. Based on what your link shows, my virtual machine doesn't have the service pack installed either, even though the build numbers are different, yet the subform displays on that version correctly. So could it be that I am using a feature that wasn't available in the earlier build or maybe I haven't included referenced to the right addin????? Any suggestions?

I would dearly love to require that they upgrade to the latest service pack but the IT department won't allow that so I need to get my application to work on the version they are using.

Function GetOSInformation() As String
' Culled from http://www.microsoft.com/technet/scriptcenter/tools/scripto2.mspx
Dim objWMIService As Object
Dim colItems As Object
Dim objItem As Object
'Dim sPath As String
Dim lStart As Long
Dim l As Long
Dim sDetails As String

    Set objWMIService = GetObject("winmgmts:\\" & "." & "\root\CIMV2")
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", &H10 + &H20)

    For Each objItem In colItems
        sDetails = objItem.Caption & " " & objItem.CSDVersion & " " & objItem.Version & " " & objItem.BuildNumber
   
        lStart = 1
        For l = 1 To Len(Environ("Path"))
            If Mid(Environ("Path"), l, 1) = ";" Then
                'we have found the end of a path so test it
                If Dir(Mid(Environ("Path"), lStart, l - lStart) & "\MSAccess.exe") <> "" Then
                    sDetails = sDetails & " MS Access Version " & _
                      fGetProductVersion(Dir(Mid(Environ("Path"), lStart, l - lStart) & "\MSAccess.exe"))
                End If
                lStart = l + 1
            End If
        Next l
    Next

    GetOSInformation = sDetails
End Function
0
 
LVL 3

Expert Comment

by:jakemdrew
Comment Utility
The subform sounds like it could be a missing reference.  You should check tools > rerferences and see if anything is prefixed MISSING on the machie where the subform is missing.  

Decomplie has also helped me in these situations as well.

Start > Run

msaccess.exe /decompile "C:\path\db1.mdb"
0
 
LVL 3

Expert Comment

by:jakemdrew
Comment Utility
One last thought is that if the missing "subform" is actually a missing ActiveX control, the machine could be missing that control in the regisrty.  In this case you would have to copy the missing control to the machine and register it using Regsrv32.

I had this happen on Vista Machines that no longer has the Rich Text Box control installed.
0
Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

 

Author Comment

by:Rob4077
Comment Utility
Thanks for the suggestions. No missing references and a decompile was not needed. I found the problem was with the subform's recordsource.  The SQL statement I had used included a PARAMETER that the old version of MS Access was unhappy with. When I removed that PARAMETER all went well. Yet the subform worked fine on both builds of MS Access.
Therefore I go back to my original question and wonder if there is any way anyone knows of where I can get hold of a version of MS Access that is a build apparently older than the one that is on my install discs so I don't have to develop and test every modification on a machine at one of my users' sites?
0
 
LVL 3

Expert Comment

by:jakemdrew
Comment Utility
I would love to see a version specific parameter.  I have never heard of such. (just for my own selfish future reference of course)

Glad you found your problem!
0
 

Author Comment

by:Rob4077
Comment Utility
Following is the SQL code I was using for the subform. On both the Version 12.0.6211.1000and Version 12.0.6304.5000 the code worked but on Version 12.0.4518.1014 the subform would not display until I removed the section of code from PARAMETERS to the semicolon (;) before SELECT. Why, I have no idea, but that was the only change I made and it worked.
PARAMETERS [Forms]![frmMainRosterPrep]![Roster Preparation Form].[Form]![LstWeeks] DateTime;
SELECT tblSubTimeEntries.*, tblDoing.MinDuration, tblDoing.BreaksNotRequired, tblTimeEntries.ClosedForEditing, tblTimeEntries.Notified
FROM tblTimeEntries RIGHT JOIN (tblSubTimeEntries LEFT JOIN tblDoing ON tblSubTimeEntries.DoingCode = tblDoing.DoingCode) ON (tblTimeEntries.ShiftNum = tblSubTimeEntries.ShiftNum) AND (tblTimeEntries.SAPNum = tblSubTimeEntries.SAPNum) AND (tblTimeEntries.Start = tblSubTimeEntries.Start)
WHERE (((tblTimeEntries.FortnightCommencing)=[Forms]![frmMainRosterPrep]![Roster Preparation Form].[Form]![LstWeeks]))
ORDER BY tblSubTimeEntries.StartDate;
 
0
 
LVL 84

Accepted Solution

by:
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 500 total points
Comment Utility
Is "DateTime" the name of your Parameter, or the name of a control on your form? Either way, try renaming it ...

I'm sure you could purchase an "original" copy of 2007 (i.e. pre-SP1), or you can purchase an MSDN subscription, which gives you access to every app/version of everything MS produces.
0
 

Author Comment

by:Rob4077
Comment Utility
Thanks for the info on the subscription
When I created the parameter I used the Query editor and selected the Parameters button on the ribbon. I entered the name and the type was DateTime which it translated into the SQL of the query as above.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Today's users almost expect this to happen in all search boxes. After all, if their favourite search engine juggles with tens of thousand keywords while they type, and suggests matching phrases on the fly, why shouldn't they expect the same from you…
Introduction The Visual Basic for Applications (VBA) language is at the heart of every application that you write. It is your key to taking Access beyond the world of wizards into a world where anything is possible. This article introduces you to…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…

744 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

16 Experts available now in Live!

Get 1:1 Help Now