Nah, that's Microsoft. FRED is a pain, but that's only because it includes MFC (Microsoft Foundation Classes). Thanks to Volition's redundancy, if you can find a bit of code in FRED that does something similar to what you need, you can usually cut, paste, and hack until it works. Building something from scratch, on the other hand -- you haven't learned masochism until you've tried to read a Microsoft help file.
Excerpt from a particularly infuriating help file I ran across when I was trying to puzzle out a problem in Access this summer...
[b]OpenRecordset Method[/b]
Creates a new Recordset object and appends it to the Recordsets collection.
[b]Syntax[/b]
[b]Set[/b] [i]recordset = object.[/i][b]OpenRecordset[/b][i](source, type, options, lockedits)[/i]
...
You can use one of the following constants for the [i]type[/i] argument.
Constant Description
-------- -----------
[b]dbOpenTable[/b] Opens a table-type [b]Recordset[/b] object
[b]dbOpenDynamic[/b] Opens a dynamic-type [b]Recordset[/b] object
[b]dbOpenDynaset[/b] Opens a dynaset-type [b]Recordset[/b] object
[b]dbOpenSnapshot[/b] Opens a snapshot-type [b]Recordset[/b] object
[b]dbOpenForwardOnly[/b] Opens a forward-only-type [b]Recordset[/b] object
...
I kid you not. You get a huge pile of information dumped on you that tells you precisely nothing.
