Access, VB, c# or C++ for a database application?


I have written an application in Microsoft Access which works fine for what we want at the moment. The problem is we have a number of satellite offices which will need to access the database. I am therefore going to move the database onto SQL Server as step one, and carry on using Access as the front end until the database has settled in.

In order to roll it out to the other offices I have a number of questions:

1) If the Access database is installed at each office locally with a connection to the SQL server over the VPN can I expect a reasonable performance? I assume because all the forms, etc are local then only the data would be transferred over the VPN. Issues arise, I guess, when (for example) the user is browsing through a dataset using a single form with record navigators, would Access grab the whole dataset or just fetch each record as it was being viewed? I understand this might not be an ideal solution but from a business viewpoint Access is so fast to develop in it would be the ideal choice.

2) The other option I have come up with is to write a front-end application in VB/C++/C# which would connect to the SQL database and could be written in such a way that it wouldn't ask for large data sets in one go. VB would be the obvious choice for me as I have a lot of experience of VBA and the transition would be fairly painless. Although when I have worked with VB in the past it does seem a bit fiddly when it comes to handling databases (particularly when compared with Access).

So, in summary, am I better continuing with Access or using a devlopment tool. If so which would be the best VB, C++ or C#?


Who is Participating?
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.

>> Am I better continuing with Access or using a devlopment tool.

Access is good desktop database, but professional systems are developed using some programming languages and not VBA. Access VBA is good to make some simple DB system quickly, and intended mostly for beginners or non-programmers.

>> If so which would be the best VB, C++ or C#?

VB - very good for DB programming. However, this language has no continuation, Microsoft switched to .NET and suggests to convert existing applications to VB .NET or C#. It is not a good idea to start VB development now.

C++ - not recommended for DB programming. C++ developer need to write a lot of code, and application doesn't perform better than VB or .NET applications. C++ has advantages in other programming areas (graphics, networking, real time etc.)

C# - the best of .NET languages, very good for DB programming. Restriction - requires installing of .NET Framework on the client computer. However, this is not a big problem on XP OS.

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
pauldonsonAuthor Commented:
Thanks for that AlexFM.

For someone coming from a VBA background (I have used Delphi and some other proprietory languages in the past) - would you say C# was suitable or would I be better going for Are they both OK for working with SQL?
They both OK for SQL. All .NET languages are working with the same resources - .NET Framework. The difference is only in syntax.
VB programmers usually decide to work with VB .NET. To my opiniin, C# is much better and looks like real programming language. On the other hand, there is a lot of DB programming samples in VB.NET. It is your decision what langusge to choose, you have the same tools in both ot them.

Having some experience in .NET programming, you will see that all .NET languages are the same and it is possible to work in any of them.

However, there are other choices like Java and possibly something else. Other EE experts may add their opinion about this.
pauldonsonAuthor Commented:
OK thanks for your input.
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

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.