Make VBA Forms application standalone

I'm the new maintainer of an application that was previously done by a contractor. The application was developed using VBA inside an Access project. It consists completely of forms (one of which is opened using autoexec macro) and stuff like click handlers. I don't see any use it makes of Access functionality except for accessing the tables using ODBC table linking done in Access. These are the reasons I would like to convert this application to a standalone application if possible:

Is there any way to convert this to a separate Windows application (I guess using WinForms as that seems to be the same as the forms in VBA) that can be maintained in Visual Studio?

Upvotes: 0

Views: 1410

Answers (1)

Albert D. Kallal
Albert D. Kallal

Reputation: 49079

Access for 20 years has supported the standard ‘Microsoft source code control interface. This is outlined in this post:

Version control for VBA file

And this one here:

How to implement version control in Access 2003?

There really little or no reason why Access + VBA, or vb.net can’t be used with source code control. However the SCC add-in that was part of Access was depreciated in 2013. So for versions after 2010, then you can use a script to export the objects. This works quite well – I am using GitHub with Access. So you need a script to export objects now that the SCC add-in is not included in versions beyond 2010 and it works rather well. Access can view each object as "logical" separate. So having all parts in a folder, a zip file, or the Access continuer is moot - don't fall for the physical vs logical concept here that so many people fail to grasp.

•The VBA IDE is super annoying

Hum, never really had much issue with it. I spend good parts of my day using VS2013 and vb.net, but for the most part the VBA IDE is fine for most Access applications. Can you give an example of what feature or something that you find bad with the VBA IDE?

•I think the code could then be migrated to more modern languages like C# or VB.net making it more maintainable

I can’t see why code written in c++, or Pascal or VBA is going to be more or less maintainable? You have to give an example of what you mean here? Maintainable code is maintainable if it is COBOL, Pascal, or VBA.

I guess using WinForms as that seems to be the same as the forms in VBA

No, Access does not use winforms.

Access as a developer tool not really different then say using FoxPro, or say Delphi. Such code and systems can be re-written like any other software development system would require that I am aware of say in the last 30 years of desktop development.

As a general rule, something written in say Delphi, or Access + VBA is not going to by some act of magic is going to be converted to WinForms and .net. That goes for just about any IDE and system I am aware of.

So software in the general computer industry never worked this way in the past, and thus Access is really much the same as most everything else in this regards.

Upvotes: 2

Related Questions