Alex is off vacationing in Detroit today (who goes there on vacation?), so let's take a look back at a WTF classic. I know this one was a favorite around our office, so if you missed out the first time, I'm sure you will enjoy.  On top of that, today you get a two for one, lets take a look at a summary from The Hotel (reservation system) From Hell and the The Hotel (reservation system) From Hell, Continued.

Over the past few months, we've all seen some some rather ... unique ... ways of doing various things, programming and otherwise. But today is different. Today, we will see what only Nikolay Simeonov and a few other brave souls have seen. We will see the abomination whose mere thought would send many programmers into the accounting profession. Yes, today's post will contain a glimpse of the reservation system from the Styx (the river, not everyone's favorite 80's band) Motel itself ...

Appropriately, this is written in Access. But even the Dark Lord has his limits ... the Fox Pro versions exist only on the fifth level of Hell and lower.

The faint of heart may want to look with one eye ...

But our tour doesn't stop with the forms, not at all. After all, what system would be complete without invoices and reports?

It may not seem so bad at first either, but we know what they say lie within the details. And the details of this report contain yet more reports ...

And in the details of that report ...

Whew! No more nested report details. But the sadistic may wonder, what kind of queries could possibly be powering these of reports? Here is, for example, the query titled “f z tgab 0101“.

SELECT DISTINCTROW [f z tgab 0101 1 1].Zahlungsart, Format(Format([BR],"Standard"),"@@@@@@@@@@@@@") AS BE FROM [f z tgab 0101 1 1];

Tormenting us even further, the query refers to “f z tgab 0101 1 1“ which is, of course, another another query ...

SELECT DISTINCTROW [f z tgab 0101 2 1 4 1].MAINKAT, IIf([Dauer]=5,"-------------------------",IIf([Dauer]=6,"Summe Kat. " & [MAINKAT],IIf([Dauer]=7,"=========================",""))) AS KAT, IIf([Dauer]=5,"-------------",IIf([Dauer]=6,Format([f z tgab 0101 2 1 4 1].[BR],"Standard"),IIf([Dauer]=7,"=============",""))) AS BR, 4 AS SORT, [Z Tage].Dauer AS SORT2, Recipient FROM [Z Tage], [f z tgab 0101 2 1 4 1] WHERE ((([Z Tage].Dauer)=5 Or ([Z Tage].Dauer)=6 Or ([Z Tage].Dauer)=7 Or ([Z Tage].Dauer)=8));

I'll spare you the further exploration of the “f z tgab 0101 2 1 4 1“ query. I think we have all seen enough. Nikolay, I salute you; this is, by far, the scarriest system I have ever seen.

Wow, makes me want to pray to my god more often, if I can avoid a hell like that.