My company uses a pretty complex database application that we developed ourselves with a Microsoft Access Front End and a SQL Server Back End. The features and functionality work quite well for the way we run our business, but we have started experiencing some performance issues as our number of users and the amount of data we are managing have increased. I have some ideas of how we can optimize this existing application to allow for better performance, but before I got started, we were purchased by a larger company. While they like they way our application works, but they have their own performance, security, and scalability concerns.
Specific weakness of our current application they pointed out are:
Front End database has table-to-table links for every backend table that exists in the SQL Server
The Record Sources used to populate our forms directly reference linked tables in the SQL Server
Too much code behind our forms.
They would like to consider scaling our application so that it can support several different companies that are similar to ours. This would likely involve moving the SQL Server Back End to the Cloud. They believe that rather than trying to optimize our Access application to mitigate the weaknesses mentioned above, that we recreate the application from scratch for a different platform. Their suggestion was that we consider Microsoft .Net as the platform, and C# as the programming language.
I have no experience with .Net development or with C#, but I am willing to try to add this to my skillset if it seems that this is a good approach to building a better performing, more scalable, and more secure application. I will probably start by reading a book on .Net Development with C#.
Before I dive into this, I figured I would ask if anyone here might be able to give me a quick rundown as to if/why .Net might be a better platform than Access considering the concerns we are hoping to address.
Any advice or suggestions will be greatly appreciated.
Thanks and best regards,