Has VBA be changed since 2003

aikea

Registered User.
Local time
Today, 09:24
Joined
Aug 4, 2007
Messages
58
Its there any change made to VBA language in Office 2007 since 2003?

I mean the language itself, not its enviroment or extension.

I checked the msdn documentation, found nothing.
 
The only way to find this out with any clarity - and no guarantees here - is to look at the Access Help topic titled "What's New In Access 200?" and compare notes. IF there is anything big in VBA and IF someone remembered to make a note of it, you might see if there has been a change in the language.

Having stated that, I think it is FAIRLY safe to say that the language itself has not changed much. Changing VBA syntax would probably get someone lynched, what with all the backwards compatibility issues that would spring up. It is not a money-maker for Microsoft to change VBA syntax. Hell, they use it themselves for some things, so they sure wouldn't want to shoot down compatibility at the base instruction level. It would be self-defeating.

What has more likely changed is the .DLL files available for use in the newer versions. There is no particular way to answer "What's New In DLLs" without doing an exacting comparison of the DLL files installed as part of each kit. And because a .DLL file is an extension that generally takes the form of a new set of library routines, the language really doesn't change when that happens.

Is there a particular problem you need to discuss regarding the VBA language? Or was that just a matter of curiosity?
 
Its there any change made to VBA language in Office 2007 since 2003?
I would think that a professional office software developer would know this by now, or at least know where the answer can be found. I'm not sure I would want a professional to develop software for me that couldn't answer this question... ;)
 
I believe there was a report recently, I think it was in the UK Access users group list server that I subscribe to, there was one piece of Code that had to be changed to work in access 2007. I'm not sure if it was a bug, or something to do with VBA. If I spot it again I will post it here.
 
Last edited:
Actually, I did look pretty hard for documentation. All of my VBA code written in 2000 and 2003 seems working fine in 2007. As far as I can remember, the only major change made to VBA was in the Office 2000 release. Since then, MS didn't mention anything about the language in Office product. If you check what's new section of Office 2003 and 2007 help file, you will only find information about new application features, not VBA itself.

I presume the VBA in both 2003 and 2007 are exactly the same.
 
MS Access 2007 bug?

.
Yes, I did recall correctly! Isn't your brain amazing.

There was a recent post in the forum, I have included the following extract:

==================================================================
==================================================================
Message Id : 10251
example:

Me.MemberListSFrmCtrl.Form.Requery

has to be rewritten explicitly as:

Me.MemberrListSFrmCtrl.Form.Recordsource = "MembersQry"

==================================================================
==================================================================

I don't have MS Access 2007 so I can try out for myself. I would be interested to hear how others get on with this code.

Cheers Tony
 
.
Yes, I did recall correctly! Isn't your brain amazing.

There was a recent post in the forum, I have included the following extract:

==================================================================
==================================================================
Message Id : 10251
example:

Me.MemberListSFrmCtrl.Form.Requery

has to be rewritten explicitly as:

Me.MemberrListSFrmCtrl.Form.Recordsource = "MembersQry"

==================================================================
==================================================================

I don't have MS Access 2007 so I can try out for myself. I would be interested to hear how others get on with this code.

Cheers Tony

Well, that is something to do with forms rather than VBA itself.

But, now I am quite sure the code I write in Access 2007 will run on any version since 2000 as long as no platform dependent feature included.

Thanks for all
 
Off-topic


Someone once told me that 2007 was originally slated to have VBA depecrated and migrate to Visual Studio for Applications, which the other Office suite are currently using, but Microsoft dropped the plan. Was that true or just a random fart pulled out of somebody's ass? (I tried to search for a roadmap of Access but the search results at MS site was lot of snow...)
 
Someone once told me that 2007 was originally slated to have VBA depecrated and migrate to Visual Studio for Applications, which the other Office suite are currently using,
Well, I would say that it may have been in the plans but the plans changed. Also, the other 2007 applications do NOT use VSA but are still using VBA.

Now, you can USE Visual Studio for development in 2003 and above, but it is not embedded within the applications themselves. They are still on the VB6-based VBA.
 
Now, you can USE Visual Studio for development in 2003 and above, but it is not embedded within the applications themselves. They are still on the VB6-based VBA.

How would that work? I mean, if the applications still are using VBA and not VS, does that mean the VS application simply compile into VBA dialect rather than using its own model?

I'm puzzled because MS are selling VSTO for developers right now, so I kind of assumed that they already updated the object models in Word, Excel and Outlook (which are explicitly mentioned as supported by VSTO.)
 
Since I haven't used VSTO, I wouldn't know for sure, but I would think that it would be similar to the way you can use VS 2005 to create code and modules that you can integrate into a VB6 program using a special wrapper.
 
I still have a DB written in 1998 on A97. This has been successfully migrated through A2002 to A2003. The only changes needed were to make the use of DAO explicit when moving to A2002. All the other code works fine. So I think it safe to saythere have been no significant changes to VBA
 
Usually a few new functions are added with each version. Also arguments may be added such as the OpenArgs which showed up in forms at least one version before reports. The What's new topic in the new versions help should outline specific changes.

The only problems I have run into when converting from one version to a newer one have been with sloppy code written by non-programmers. Syntax checking got tighter on some things such as form references in A2003.
 
Usually a few new functions are added with each version. Also arguments may be added such as the OpenArgs which showed up in forms at least one version before reports. The What's new topic in the new versions help should outline specific changes.

The only problems I have run into when converting from one version to a newer one have been with sloppy code written by non-programmers. Syntax checking got tighter on some things such as form references in A2003.

I spent last two days compare VBA built-in functions between 2003 and 2007. I didn't find any differences. Actually, the 2007 version is exactly a copy&paste of 2003.

Some addin classes are changed or depreciated, but they are all platform dependant.

--------------------

You can use Visual Studio to automate some actions in Office, just like VBA.

You can extend Office by creating some dll files. Like create a button in Access form. Click that button will let you run some code written in C#.
 

Users who are viewing this thread

Back
Top Bottom