Avatar of GeorgeSalet
GeorgeSalet
 asked on

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
George
Visual Basic ClassicVisual Basic.NETMicrosoft AccessVBA

Avatar of undefined
Last Comment
GeorgeSalet

8/22/2022 - Mon
Gustav Brock

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.

/gustav
Scott McDaniel (EE MVE )

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:

https://www.visualstudio.com/products/visual-studio-community-vs
Jacques Bourgeois (James Burger)

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.
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes
GeorgeSalet

ASKER
Thanks for the help
George
GeorgeSalet

ASKER
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?
Thanks
George
Jacques Bourgeois (James Burger)

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.
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
GeorgeSalet

ASKER
James
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??
Thanks
George
ASKER CERTIFIED SOLUTION
Jacques Bourgeois (James Burger)

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
GeorgeSalet

ASKER
James
Thanks
George