I'm developing a single-user, desktop, small, consumer-oriented database application and have a few questions for the experts here; I'm not a professional programmer/IT person, so please excuse any dumb or unclear questions...
Currently I am using Access 2010 (I already have some experience with it) and currently intend to distribute the application as a split database (ie, frontend/backend) via the Access runtime. That said, I've read quite a bit about potential problems with both the Access runtime and with using ActiveX controls (Treeview, etc) in Access applications. Therefore, I've considered moving to VB.NET instead of Access, but to do so would require a huge time commitment, so I'm trying to fully understand all the basics before doing so...
Unfortunately, despite spending quite a bit of time googling and buying some books on the topic, I don't understand several very basic issues:
1) I've read about lots of problems with the Access 2010 Runtime:
a) presumably these problems have not, and will not be fixed?
b) I've read that you can't use ActiveX controls in a runtime distribution--correct?
2) To what extent would using a third-party installer such as Sagekey for the Access runtime resolve the various runtime and ActiveX problems? The Sagekey solution seems to get very good reviews, although I haven't found that much about it. It's pricey, but if it will save me untold hours and brain-damage, to me it would be worth it.
3) If I decide to move to .NET--to start with the very basics--I understand that to develop a database-centric application with .NET, the application needs to incorporate a database program (such as Acces, SQL Server, MySQL, etc.)--correct?
a) Or is it possible/desirable to develop the various tables, etc. directly in .NET somehow?
b) I've read that including the Access runtime within a .NET application still leads to all of the runtime problems mentioned above-correct?
4) If I decide to move to .NET, I'd prefer to use it with an Access database, since Access is more than capable of handling all of my current needs and I am fairly familiar with it. Is there any real reason to use SQL Server Express instead of Access?
5) If I decide to use .NET, I understand that basically I would use .NET for the forms and for the connections with the database but don't understand what should be in Access vs .NET; for instance, which parts of my existing Access 2010 accdb database could still be used in the VB.NET application?
-modules (including SQL code)?
-forms (presumably not)?
6) If I decide to use .NET, my default would be to use VB.NET, because it sounds simpler and closer to VBA, which I understand a bit. Is there any real reason to use C# (or something else) instead?