wanting to move up from ms access, thinking .net? visual studio?

In an environment like that, you can't go wrong with VB/C#. Try the various VS Express editions.

If you want something that will translate to Linux a little more, Python and just about any cross-platform GUI framework(QT, or wxpython) would work.

EDIT: Then there's the database. I would probably suggest sqlite if you want to learn something cross platform. Sticking in the Microsoft world, there's SQL server compact.

In a business environment like that, a .NET app is probably more maintainable(after you're gone, etc) then anything that's not completely Microsoft.


MS Access is a desktop database application. One step up is most likely SQL Server Compact Edition (SQLCE), which operates as part of your application (as opposed to SQL Server Express or higher, which run as system services). I've used SQLCE with a great deal of success in a few applications, and Microsoft is using it in Visual Studio 2010 for the new Visual C++ IntelliSense cache because it's lightweight and performs great.

Despite what I've read on some sources, SQLCE doesn't cooperate well with the Entity Framework. It does however work great with LINQ-to-SQL and the corresponding designer. That said, my personal recommendation is you consider combining the following as your replacement:

  • Data: SQL Server Compact Edition
  • Data/Code: LINQ-to-SQL
  • Programming language: C#
  • Application framework: WPF
    • Personal note: WPF does have a learning curve, but it's primarily difficult for people who've worked with other frameworks (MFC, WinForms, etc.) for a long time. Pick up a good reference and you'll be productive in no time, plus you'll be skilled in a technology that people are moving towards instead of away.

I would say web app (C#) with SQL Express on the back end - but this is just me