Live data from Hacker News

Microsoft Access: The Database Software That Won't Die

medium.com

311–320 of 365 posts

Re: Microsoft Access: The Database Software That Won't Die

#311
I think at some point, anyone who used a MS-based operating system at work may have indirectly stumbled upon MS Access.

No matter how better other tools can be nowadays, there's no denying the fact that there are businesses who still have smaller MS Access apps that runs critical business processes.

I have helped a small company (~9-10 years ago) who had an MS-Access based application where the source code was locked as well as the database. Took a while to unlock both the source and the database and up until today, that application is being utilized fully in their operations.

Re: Microsoft Access: The Database Software That Won't Die

#312

In polish high schools, Access is still a part of the computer science curriculum (for those who take CS). It doesn't have to be Access specifically, but it is in 99% of cases. You can't really avoid it, as it's required on the Matura exam. I've heard rumors that some teachers even teach the point and click interface instead of SQL.

To be fair, if you're gonna be in access, their SQL query writing interface is a steaming pile of issues. In my experience:

1) You can't do multi-line queries. After executing, it'll smash it all to one line again.

2) You can't add comments. After executing, it'll delete them out.

3) It doesn't do any syntax highlighting.

----

Years ago I worked for a company who had tons of manufacturing production data. Someone built an interface to query the data - used by just a couple people. Mind you, this isn't Access, it was homebrew software. Eventually word spread about the data you could access, and dozens to hundreds of people got access.

They never got to the top of the priority list to make it multi-user, separate profiles, create permissions on queries, etc.

There was a mandatory 8 hour training session with a test before getting access to the environment. Dev queries were automatically deleted 90 days since last run. On prod, 365 days. This was to reduce clutter. Query names were terse. You had to know people who knew what queries did. Comments were used sparingly. Anyone could edit and view any query available.

I copied a query, made edits, then executed. Got weird results. It took 1.5 days to figure out the parser was messed up! First, line comments using ' were excluded. Next block comments using /* */ were excluded. However, if a macro was called inside a block comment, it was executed.

That was the most frustrating bug I've ever debugged. Literally I'd copy the query, it'd run successfull, I'd comment out a couple returned values, and it'd fall on it's face because of how macros worked.

Re: Microsoft Access: The Database Software That Won't Die

#313

Earlier quoted context omitted.

> I still think there is a killing to made on a modern day Access "Done Right". DB, Gui framework and printable report generator all in one sharing the same language front to back, top to bottom. Reminds me of Airtable, Monday, Notion or one of these all-purpose productivity tools

Airtable is really good for what it does : makes data-driven tools available for folks who don't want to mess with writing queries or being a DBA, and also has a reasonable API for automations. For heavy stuff, I'll take Postgres anyday given the choice, but Airtable is great for small user-maintainable tools + dashboards, etc

Do you have to pay a monthly fee for everybody who uses your Airtable app though?

I think there are also some very low limits to the number rows/columns you are allowed to use?

I'm not really sure - honestly asking...

Re: Microsoft Access: The Database Software That Won't Die

#314
post #81

A number of years ago I was in the Navy and worked in an electronics shop on an aircraft carrier. We were responsible for calibrating and repairing all the test and measurement equipment for the entire ship as well as the squadrons that we carried with us. Easily over 10k individual pieces of equipment, each of which had to be calibrated on a specific schedule. Most of this data was managed centrally, and we sent/rec…

Huh, similar story here. The nuclear department on my carrier needed to produce this monthly report for training hours that would take them a ton of manual effort. There was no budget at all for any kind of automation but Access was on every machine. I know what I'm doing with databases. I never want to use Access if I don't have to. But it has the enviable property of "no server administration required" which meant…

My first real programming job was a summer project for a tutoring program at ASU where they managed their schedules in a shared access database. It got bad as it would get overwritten often. 10 students would show up with no tutor, or a tutor would sit and wiat for students who would never come cause they rescheduled.

We copied the structure to SQL server, built some stored procs ( only allowed way to access the DB at the time ) and fronted it with a bunch of aspx pages. They loved it beyond my expectations.

All of that was new learning as I had only ever done the LAMP stack at that time and this was all Microsoft stuff.

Re: Microsoft Access: The Database Software That Won't Die

#315

A number of years ago I was in the Navy and worked in an electronics shop on an aircraft carrier. We were responsible for calibrating and repairing all the test and measurement equipment for the entire ship as well as the squadrons that we carried with us. Easily over 10k individual pieces of equipment, each of which had to be calibrated on a specific schedule. Most of this data was managed centrally, and we sent/rec…

Being able to automate forms can absolutely revolutionize some businesses. Many business owners have no idea the extent to which automation is feasible here. I have seen fully manual paper process (printers/scanners/pen & ink/shredders/etc.) go into 100% digital realm and the impact it had on the business. It really is incredible the difference it makes. The most interesting factor was the fact that now that the inpu…

As a counterexample it's easy to get this wrong as well. In my EMT career we switched from doing run reports on paper to doing it on the computer. It was a nightmare. No attention to good UI principles had been paid. In the section on "What drugs did you administer?" we had to choose from a scrolling menu of perhaps 100 items for each drug we used (including oxygen which we used on everybody). Simply typing in their names would have been easy, but no. Every data element was like that. A report that took me 20 minutes on paper took 45 minutes on the web version. Classic enterprise software.

Edit: Above was an attempt at digitization while this thread is about form automation. Understood. My point is that there was a lot of automation that could have been employed but wasn't. With that and good UI principles, the org could have made us more efficient. They chose not to because what they really wanted was a searchable database of patients treated so they could get more funding. EMT productivity was never a consideration.

Re: Microsoft Access: The Database Software That Won't Die

#316

Earlier quoted context omitted.

I wonder if sqlite could become this in the future.

All these responses demonstrate the typical issue with today’s dev mindset... i.e. wanting to develop a solution where there is no problem to solve, and very often resulting in an alternative with more issues than the original tool. There is a reason why MS Access and Excel endure: they are far from perfect and have tons of limitations, but they do solve the very basic function they were designed to fulfill. An IT so…

Until the Access database grows beyond the understanding of the business types and they chuck it over the wall to IT for support. I worked at a company which was 5 or 7 years down the road from a management initiative to "decentralize" IT and back to "recentralized" IT. They'd had some kind of traveling Microsoft Access Training road show come by with trailers and pop-up tents to teach all the business units how to make their own Access databases.

This was before my time there, but I can imagine things were productive at first - the databases would have been simple and well-targeted to their business needs. However they were created without understanding of any database theory such as normalization or what makes a good key. Their authors had not been burned (yet) by the horrors that battle-scar devs, such as time zones, server moves, and decisions by the business to renumber identifiers one might naively choose as keys.

The quality of the database designs varied from bad to decent, but eventually most of the databases came to one fate: the original author left or got promoted, and their replacement knew how to add to the database but not how it worked. He/she came on board long after the Access Training Road Show had left, so hadn't had that training either.

A few business units noticed a sister unit had data they needed, and found it mutually beneficial to smush their databases together into one amalgamation. Lacking an understanding of both database theory and each other's database designs, much less their own, they simply built views, on top of views, on top of views. The resulting queries resembled a coral reef growing out of a subduction fault.

In due time the problems became too large for them to manage. New versions of Access would break things they couldn't fix. It bears noting that even if the databases had remained simple (which they didn't), the technology upon which they were built was emphatically not simple, which is itself a vulnerability. So the business had all these medium-sized systems they didn't understand running on a technology they didn't understand all catching on fire at once. It was the technical debt equivalent of having 100 balloon loans suddenly come due in the same 18 months after 7 years of low payments.

So then it became our problem (in IT). After multiple renumberings, correlating what physical location a store number (primary key) referred to required knowing or guessing the date when the row was created, so it could be looked up an historical cross-reference table. Comparing date/times required knowing the location the row referred to. And every business unit had developed its own jargon, re-using trendy words they heard other business units saying but using the words to refer to other things - so you could never really be sure you knew what an identifier really meant. Because of the mergings you might have one database where table "Accounts" refers to corporate accounts, but "Accounts2" refers to user log-ins.

The Microsoft Access program has versions. The Microsoft Access database format also has versions. This leads to a matrix of combinations you have to keep in your head as to which version of the file they have versus which version of the program they're using, and whether it will be bug-compatible or beneficial to upgrade one or the other or if that's even possible with the combination and database code they have. Don't even get me started on reports generated by Access...

Re: Microsoft Access: The Database Software That Won't Die

#317
>Clearly, there are people still interested in Access, even if it’s only because they’re trying to untangle the mess left for them by a previous generation of hobbyist programmer.

My job function entails extending and maintaining an MS Access database that our small company still uses as its primary tool for data entry and reporting. It started on Access 97, moving up through a few new releases until about 2010, which we stayed on until just this year. It's now working with the O365 edition. It was first developed by someone with no previous experience, referencing a copy of Access 97 for Dummies. I learned on the job just by poking around - which is now, I think, the biggest pain point for how we use the software: how exposed everything is. Prior to this role, our company would contract out for development: we'd come up with a big list of things we want, and it would be done and deployed within a couple week's time, although it usually took many revisions to get right. Now that I am able to do this development work in-house, things go much more smoothly as I also work with the day-to-day processes the tool is used for, and I have a grasp on how systems operate within our office. It's very important to have database tools with a low barrier to entry, so I think there would always be some market for this; where it really shines is its straightforward reporting and form editing capabilities, along with its user-friendly query designer. Being able to generate complex datasets without having to think about SQL (though still being able to write SQL!) is powerful.

(as an aside, I feel that I'm ready to move on from my role, but my abilities with Access don't seem exactly desirable or hireable, and as the article describes, there's always a looming threat of it going away someday. I was given a title of "Database Administrator" from higher-ups who think of Access as some esoteric ability, although gambits for pay raise so far have been fruitless. I see it more like ability in using Excel. I have some experience with MySQL via personal projects and programming in PHP, but I wouldn't call myself a dba if I'm being honest with myself. I feel a little stuck by not having the abilities to match my job title when searching for new positions, and if I'm going to the trouble of getting a new job, I don't want a lateral move with the same compensation. The wise thing to do would be to learn competence in proper database tools. I'm young, without a degree, and any advice would be welcome)

Re: Microsoft Access: The Database Software That Won't Die

#318
I think Microsoft Access has a lot in common with Javascript. Both are Lovecraftian horrors that no sane person would (clean-sheet) design in their current form. Both derive their ubiquity from having been the only or nearly the only option in their domain. Javascript being the only way to write web-native programs and already there in the browser, and Access being the only database available to users without admin rights on their computers and already there in the Microsoft Office suite. Both are tragedies of opportunity cost for the history of computing by pre-empting or delaying the emergence of any replacement built on superior technical foundations.

Re: Microsoft Access: The Database Software That Won't Die

#319

Earlier quoted context omitted.

I partially fixed that by splitting the mdb into a front end and a back end where the back end was only tables (no UI, no queries) and launching the front end mdb from a simple command script that copied it to the users tmp directory first. Then at least I could fix bugs in the UI and after a while that's where most of the bugs were.

huh, i just posted before i saw this comment that I never saw anyone plan out their access database like this, kudos

[deleted]

Re: Microsoft Access: The Database Software That Won't Die

#320

Earlier quoted context omitted.

All these responses demonstrate the typical issue with today’s dev mindset... i.e. wanting to develop a solution where there is no problem to solve, and very often resulting in an alternative with more issues than the original tool. There is a reason why MS Access and Excel endure: they are far from perfect and have tons of limitations, but they do solve the very basic function they were designed to fulfill. An IT so…

I don’t use Windows, so Access isn’t part of the MS Office equation for me (on a Mac). However, I’d very much like to have a simple database that I could use instead of tracking certain things in Excel. So... I can completely understand why someone would be interested in making a more universal solution for this very common problem.

The Mac equivalent (for decades now) is FileMaker. Which, now that I look at it for the first time in a long while, seems to run on Windows and the web as well. [1]

[1] https://www.filemaker.com/products/filemaker-pro-advanced/

Post reply on HN