And So I authored a task-management program for any small company using Microsoft Access 2007.
Now they have asked for plenty of capabilities (timekeeping, fortunate data tiers ...)
I take advantage of Linux, however the whole office uses Home windows.
I am relatively recent to programming but prefer to train myself using projects such as this.
I am directly on the advantage about this -- I can not really tell exactly what the path of least resistance here's: will i remain in access + VBA and train myself a dying, annoying language -- while battling against all of the restrictions of Access? Or will i proceed to another thing?
Python appears not so difficult ... Whatever I personally use, i have to have the ability to provide a GUI.
screenshot to get the jist: http://img707.imageshack.us/img707/9360/screenshot1fi.jpg
-- notes: current access project uses seperate frontend-after sales for multiuser discussing on the LAN
mix compatibility with linux isn't that vital that you me, i have used virtualbox for some time now.
--UPDATE-- my wanderings have convinced me which i should proceed in IronPython -- however -- when i attempt to install the suite both in XP and 7, and fail ... I question if the is also something outdated ... most significantly, iv'e been reading through on it and that i LOVE PYTHON 3 -- but i have to provide a GUI for Home windows unsure how to start with this (including which IDE to make use of, etc)
Within an atmosphere like this, you cannot fail with VB/C#. Try the different VS Express models.
If you would like something which will translate to Linux a bit more, Python and nearly any mix-platform GUI framework(QT, or wxpython) works.
EDIT: Plus there is the database. I'd most likely suggest sqlite if you wish to learn something mix platform. Adhering within the Microsoft world, there's SQL server compact.
In business atmosphere like this, b .Internet application is most likely more maintainable(after you are gone, etc) then anything that isn't completely Microsoft.
MS Access is really a desktop database application. A measure up is probably SQL Server Compact Edition (SQLCE), which works in your application (instead of SQL Server Express or greater, which run as system services). I have used SQLCE with a lot of success inside a couple of programs, and Microsoft is applying it in Visual Studio 2010 for that new Visual C++ IntelliSense cache since it is lightweight and works great.
Despite what I have continue reading some sources, SQLCE does not cooperate well using the Entity Framework. It does however work great with LINQ-to-SQL and also the corresponding designer. Nevertheless, my own recommendation is that you simply consider mixing the next as the alternative:
- Data: SQL Server Compact Edition
- Data/Code: LINQ-to-SQL
- Programming language: C#
- Application framework: WPF
- Personal note: WPF comes with a learning curve, but it is mainly hard for people who've labored along with other frameworks (MFC, WinForms, etc.) for any very long time. Get a great reference and you will be productive very quickly, plus you will be skilled inside a technology that individuals are moving towards rather than away.
I'd say web application (C#) with SQL Express around the back finish - but case me
WPF includes a pretty steep learning curve, especially originating from Access. WinForms will be a simpler path, but it is still a leap from Access. However, both WPF and WinForms have drag-and-drop form construction, and presuming you learn enough VB.Internet to transform the VBA business logic, you are a lot more than midway there. :)
Should you implement any project in WPF, you may make it Silverlight-enabled, but that is an entire 'nother can of earthworms.