Background

Sometimes for any large organization that has 1000's of MS Access programs going swimming. I did not write these - actually, the majority of the original authors have lengthy since left the organization - but every so often another Access application arrives at my desk for support. I'd sooo like to replace access having a different solution.

Requirement

I understand that you will find several good options for that database a part of MS Access (the Jet database), for example SQLite, MySQL, VistaDB, etc.

What I must know is: Can there be something that will replace the front-end a part of MS Access?

I.e. A thing that may be used to build forms, write simple scripts and queries, etc?

Why?

@BracC requested "why replace access?" - A reasonable question indeed.
I wish to eliminate access because:

  • it hides logic, resulting in hard-to-support programs. Logic could be in several different places, none which provide or encourage any structure:
    • macros
    • modules
    • queries
    • forms
  • its very character encourages customers to produce "little" programs which become "not too little programs". Then your user leaves and I must support a lot of spaghetti. I understand that access is not the only real reason, but it is the best choice during my organisation, and that i would like to eliminate it entirely.

For added credit

things i would really like to find is one thing which could read within an MDB file and output something similar to C# which illegal copies the functionality. (Or any language - not picky).

I really hope this really is all obvious. Otherwise, please publish a comment and I'll re-write/add detail.

Update

@GuinnessFan makes some things I've found interesting. I've added my comments to go over individuals points.

What we should did since i have requested the question:

  • Got customers to provide us a definitive listing of access programs they will use and want. (The understanding is the fact that any MDB files this is not on their email list could be erased - hooray!).
  • Analysed the MDBs out there, visiting the next conclusions:
    • The majority of the "programs" consist of merely one hard-coded query or perhaps a single linked table.
    • Most are a small amount of queries with, possibly, to start dating ? parameter or similar.
    • very couple of (if any) have truly complex logic.
  • We're now dealing with their email list, transforming the majority of the applications to SSRS (SQL Server Confirming Services) packages.
  • Anything which can not be duplicated using SSRS will end up a hands-crafted web application. However, there are not many of those.

May I only say thank you, to _**everyone**_ that has given me useful solutions.

I switched the rear-finish on a single application from MSacces to MSSQL a couple of years back. Stored the leading-finish, since it labored well, and that i did not find anything as simple to useOralter.

I have never witnessed a MSAccess -> C# translator. However, you may have the ability to look for a MSAccess to VB6 translator (their syntaxes are roughly similar), and after that you will find VB6->VB.Internet translators (as well as VB.Internet ->C# translators)

So, apart from personnal distaste, why replace the Access front-finish? Might be simple to do for many (simple) databases, but many Access applications within the real life have lots of complexity.

Plenty of causes of improving the rear-finish, obviously (scalability, performance, db corruption, user-securing). Access even includes a built-in "upgrade wizard" tool that enables you to definitely split the forms and logic in the data, and upgrade the information to MS SQL server. If you would like, make use of this wizard to upgrade the rear-finish to SQL Express, then by hand migrate to a different db platform.

Hope this isn't too remote-subject, but sometimes all that's necessary related to Access is:

  1. Upgrade the rear-finish (as we have already talked about)

  2. Always make certain the leading-finishes are locked lower (read-only)

  3. If required, create different front-finishes for various user roles (as a kind of security).

  4. If at all possible, possess the front-finishes replicated in your area on each workstation, for performance reasons. You may want to possess a network script to check on for brand new versions from the front-finish.

I haven't any direct knowledge about it, however i did locate an Use of ASP.Internet ripper tools tool known as "Access Whiz" at http://www.microtools.us/