What is best application for database project

I am going to have a program written for a database project. I envisioned using visual basic and a access database.
The project must be stand alone so that I can give it to other users and easily installed. Developers have been asking me  if I want VBA or VB.net?? What is the difference and what would be the best?? I had picked Visual Basic because I had done limited programming in VB and figured I would be able to make small changes.
Thanks for your input
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Gustav BrockCIOCommented:
VB.NET is far more flexible, advanced, and modern than VBA. So go for that.
If you have Visual Studio, you can maintain the application yourself - given your skills, of course.

Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
IMO, the developers should not be asking you what language to use - they should perhaps suggest what language to use, but in the end they should make the decision based on the project requirements.

When you mention you've done some work in VB, do you mean VB "classic", or VB.NET? The two languages are quite different, and VBA would be much more like "classic" VB than would VB.NET.

Note too that Visual Studio now has a Community Edition that is free. There are some restrictions (no plugins, I believe), but otherwise it includes everything the Professional version does:

Jacques Bourgeois (James Burger)PresidentCommented:
An important difference, is that VBA needs to be incorporated in the database itself, with VB.NET would generate a standalone .exe separate from the database file. And VB.NET is more versatile but harder to learn, specially when you want to use it properly with databases.

VBA makes things easier in one way because you send the database file and the code is in it.
But there is a big limitation: Microsoft Access needs to be installed on the user's computer.

VB.NET makes things a little more complicated because you will have to distribute and the .exe, the database file, and install the interop that will enable the application to interface with the database file.
But the users do not need to have a license for Microsoft Access.
10 Tips to Protect Your Business from Ransomware

Did you know that ransomware is the most widespread, destructive malware in the world today? It accounts for 39% of all security breaches, with ransomware gangsters projected to make $11.5B in profits from online extortion by 2019.

GeorgeSaletAuthor Commented:
Thanks for the help
GeorgeSaletAuthor Commented:
With VBA as I understand it, if they do not have Access there is a runtime application that can be used??
Is that correct and as good as using VB.net?
Jacques Bourgeois (James Burger)PresidentCommented:
Yes, with VBA there are ways to let them use the database even if they do not have Access.

But "as good as using VB.NET" is subject to debate. It depends a lot on your need.

VB.NET is a lot more powerful than Access, but the learning curve goes with it.

But even more important than the language to use, you have also to consider if Access is the right database to use. Many Access databases end up in SQL Server because of the limitations of Access, new requirements, number of users that suddenly goes up, etc.

Also, if you look at what happened to Access in the last few versions, they add stuff on the way things look, but nothing underneath. On the contrary, many of old versions features such as user level security and replication started going down the drain when the new .accdb format replace the .mdb in 2007. If this goes on, you can end up with something that won't be able to evolve as the years go by.

An application properly written in VB.NET would make it a lot easier to switch database should you ever need to move to SQL Server.
GeorgeSaletAuthor Commented:
My database is pretty mild1 user, 5 tables 3000 records max,  I don't think we are going to get to wild<GRIN> Sounds like you prefer VB.net because of it's versatility??
Jacques Bourgeois (James Burger)PresidentCommented:
Around 1997, I was called in to help automatize a few things on an Access database built by the president for its own use. 10 to 12 tables, less records than what you have. When the customer saw what could be done through VBA, he started to call me back regularly to add a feature here and there.

Other employees started to also use the database. His business grew, the database followed. Around 2005, he called me to tell me that Access informed him that he was trying to go over the limit of 255 tables allowed in Access. We had to reorganize the tables and move some to a second .mdb file. A few years later, the thing started bombing on us. We had to hold it together with rubber bands and hairpins during the 1.5 years it took to move everything to SQL Server and rewrite the application.

This is an extreme, but things like that happened at least a dozen of times during my career. Almost every programmer I meet has tales similar to that one about Access.

Yes, I prefer VB.NET, but I am a professional programmer, so I prefer the tools that give me the most possibilities.

VB.NET can be use to develop standalone applications of any type (console, desktop, mobile, phone, web, cloud, services, .exe, .dll, .aspx) and is supported by the .NET framework, a collection of over 10,000 classes in which I find stuff to help me do almost anything I want with a minimum of code.

VBA is designed to be used inside a document, so it is very limited compared compared to VB.NET is you look at the big picture. But since applications that use VBA have been developed around it, some operations can be easier to program in VBA than they are with VB.NET.

The majority of professional programmers will take VB.NET over VBA whenever they can. The majority of amateur or part-time programmers do not like VB.NET because it has so much to offer that they get lost in all the possibilities.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
GeorgeSaletAuthor Commented:
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.