.Net: Working with OpenOffice 3

(__Updated Wednesday 30JAN2009.__) Developing applications that manipulate OpenOffice documents has always been rather tricky; not very difficult, but just tricky to get right. With OpenOffice 3, things got trickier and applications that used to work will now fail. I’ve just spend nearly a day trying to get a mail-merge application I built to work again... » read more

MS Access: Enhanced Message Box Replacement

This project provides a custom and enhanced message box replacement for the default `MsgBox`found in Access. A Test database containing all the code for Access 2007/2010/2013 is available at the bottom of this post. (__UPDATED Saturday 21OCT2014 to VERSION 1.10.__) ###What’s wrong with the default MsgBox### The default message box in Access is sometimes useful... » read more

MS SQL Server Express: a good choice?

Microsoft SQL Server comes in many editions, ranging from completely free to use and distribute to versions costing tens of thousands of dollars. For small businesses, or when you can live with the limits imposed, the Express edition is one option to consider. Here are some reasons why SQL Server Express may be a good... » read more

.Net: The limits of using Reflection

Reflection is a hugely useful technology: it allows you to get inside objects and get their intimate details, modify their values and even rewrite part of their code. Today I wanted to build a simple treeview control that would display the hierarchical structure of an arbitrary object by going through its properties and building a... » read more

XPO: eXpress Persistent Objects

[XPO][1] is an Object Relational Mapping .Net product from [Developer Express][2], a cool company designing cool tools. It’s a programming component whose job is to abstract access to database while allowing the developer to concentrate on a simple object-oriented interface instead. There is an impedance mismatch between the usual programming technology and the database worlds.... » read more