Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Access 2013 to Access 2007 Compatibility Issues

Status
Not open for further replies.

sxschech

Technical User
Jul 11, 2002
1,033
US
Sorry for the duplicate post. Was recommended to try and repost here for better response.

I have a new computer with Office 365 University. I had wanted to purchase 2010, but it was no longer available at the bookstore or the local microsoft store. I'm having issues with sharing the file with colleagues that have 2007. The people I am helping have no immediate plans to upgrade and I am not in a position to request that happen.

When they open the file it gives a warning message that some features are from a new version and as a result they are unable to view or edit some of the code. I thought about saving the file as mdb, but for some reason, I could not do a save as on the original file. Seems I can only save as when I am the creator of the file. When I try a save as on files created by others, the screen returns to the main screen and does not bring up a window to provide the file name or location. The other issue I noticed was that the file I created and saved as, no longer has an option for macros.

While I personally don't use macros, I learned that in order to identify if the database is enabled or needs to be enabled, the recommendation was to create an autoexec which will run regardless of enabled in order to bring attention to the user to click on enable in order to allow the vba to work.

Any suggestions, workarounds short of having to buy an older version would be greatly appreciated. If I have to get an older version is there an affordable source that is not shady.
 
Office 365 that means you are really using 2013...

So...

The thing that jumps out at me is the change of the text datatypes.... Do you have a short text column bigger than 255 characters?
Can you get a 2007 file from them, open it and not convert it? Typically that is what you do you stick with the previous version or Access 2007 file. In 2010 I can create several earlier versions. Can you not create a 2007 Accdb? If you can, to downgrade from 2010 to say 2003, I would create an MDB file, open it with 2010 install, import everything from the 2010 ACCDB, and give that to the 2003 user. That said, there are several things I would have to check on that are new features... the big one there is Tempvars is new in 2007.
 
There is no specific option for saving in 2007 that I could see, just a generic save for the formats 2007 - 2013.

This is what shows up for save as...

Access Database Default database format
Access 2000 Database Save a copy that will be compatible with Access 2000
Access 2000-2003 Database Save a copy that will be compatible with Access 2002-2003
Template Save the current database as a database template (ACCDT)

There does not seem to be a separate option to specify 2007 or even 2010 format.

The db was created by the user in 2007 format, my role is to help build forms and vba code to make the db useful. I have not created any tables or changed data structures.
 
Sounds like it is the same format for all three version then. I don't even have 2013... What I would do is look for a what's new article for 2013 and see if used any of those features...

Also Access is typically used split with a frontend and a backend or data file that has the pysical tables in it. It could be making a change to what would be a frontend object ... If so, all you need to do is just send data file back and forth and it doesn't matter 2013 added something.
 
To be clear, this is not a data issue, which is set up with FE/BE via linked tables. The issue came up when I created an autoexec macro (using code I found via search with keywords 2007 database format and based on the posting date of the suggestions, determined the code was written prior to 2013/2010 versions) the person I'm helping out is unable to even view the code in design view. When my contract expires, this person will be responsible for maintaining and updating the code vba and macro. If he can't view/edit what I create, there is little point in me doing this assignment.

While I personally don't use macros, in my search it seemed that in order to identify if the database is enabled or needs to be enabled, the recommendation was to create an autoexec which will run regardless of enabled in order to bring attention to the user to click on enable in order to allow the vba to work. As other code required messing with the registry and I don't want to go there since I'm not a permanent employee and don't know their IT protocols for this type of thing.

Here is the macro (I based it off the one that was provided with NorthWind) and found from the example Table 8.2 of "The Rational Guide to Access 2007"


[TT]
Not [CurrentProject].[IsTrusted] OpenForm
[CurrentProject].[IsTrusted] OpenForm
[CurrentProject].[IsTrusted] Close
[/TT]

I don't see that this code is so complex and was written in 2007 format, that just because I keyed it into the database opened with 2013, but which the accdb was created in 2007 would not be able to view or edit it. The macro does what it was supposed to do functionality wise, but if it can't be edited by the user becomes of little value.
 
So what happens if you get your counterpart to add the macro in 2007, you make some FE change other than macro and send it back... does it play nice?

Could be that simple for your purpose.
 
Sounds like a good idea for a one time thing. Don't think it would be practical in the long run, as that would mean writing code, then sending to them and asking them to copy-paste or rekey and then send back to me when changes or additions need to be made.
 
This will diagnose if it is exclusively a new macro issue or the other code you are going to be making.
 
Per your suggestion, I opened the version created in 2007 with the macro using 2013. I opened a form in design view added some vba and then had the file reopened in 2007, this worked without a problem. I then opened the file in 2013 and edited the macro. Any change made to the macro which causes the save box to pop up when closing the macro or db causes the warning message to appear when reopening in 2007 and renders the ability to go into design view of the macro impossible. This would seem to indicate that it is a macro issue regardless of whether the macro is new or existing.
 
sxschech said:
While I personally don't use macros, in my search it seemed that in order to identify if the database is enabled or needs to be enabled, the recommendation was to create an autoexec which will run regardless of enabled in order to bring attention to the user to click on enable in order to allow the vba to work. As other code required messing with the registry and I don't want to go there since I'm not a permanent employee and don't know their IT protocols for this type of thing.

So if you develop as normal and do not use macros.... you can avoid buying a different edition... since there are only 1-2 macros, your counterpart could easily keep a clean set in a separate file for recovery purpose in case a mistake is made.
 
Based on this and your suggestion... I won't edit or update macros. I'll make a copy of the file, do my editing, then either do a screen shot or see if I can copy paste the changes into an email as plain text and send to the 2007 users. Simply deleting the macro does not restore the 2007 version to normalcy, in other words after deleting an altered macro, the warning still pops up. Additionally, I discovered with the macro situation is that once it has been made incompatible, we are no longer able to do a compact and repair when opened in the 2007 version.
 
I'm just wondering how one reverts back... Thinking about the next guy who is stuck and is desperate.

What if you make a new 2007 file, import uncorrupted macros and everything from the corrupt file?

You could try with the 2013 copy too but I think what anyone stuck wants to be able to do is open with an older version.
 
Tried your suggestion. The good news is that creating a new blank database and importing all the objects (save for incompatible macro) doesn't seem to matter whether it is created in 2013 or 2007 version. 2007 can open up and still do compact and repair. Even importing the working 2007 macro into the newly created 2013 file closing and then opening back in 2007 still maintains functionality and CaR. Hopefully we won't encounter any other types of incompatibility issues along the way. So looks like best way to avoid compatibility is to avoid macros or let users know they have to create and maintain them only in the older version and not allow users with new versions to edit or create macros.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top