Link to home
Create AccountLog in
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
Avatar of Gustav Brock
Gustav Brock
Flag of Denmark image

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
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
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.
Avatar of GeorgeSalet
GeorgeSalet

ASKER

Thanks for the help
George
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
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.
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
Avatar of Jacques Bourgeois (James Burger)
Jacques Bourgeois (James Burger)
Flag of Canada image

Link to home
membership
Create an account to see this answer
Signing up is free. No credit card required.
Create Account
James
Thanks
George