One of the tasks for the ham radio club I’m involved with is updating the membership “database”. Not updating in the sense of adding and revising records, but updating its structure from an Excel spreadsheet to a proper database. This has been actually been a multi-phase process.
The first time I got involved last year, it was because of the need to quantify the percentage of our members who are also current ARRL members (a requirement for club affiliation with the ARRL is 51% membership among the club members). Part one was straightforward–converting text entries of dates to date values, for example. But then adding all the data needed to be able to calculate paid/unpaid members, voting elegibility, and the other needed calculations proved difficult to do. I wound up adding 10 columns to the spreadsheet, each with complex formulas that resulted in either a 1 or 0 that could then be counted and used in other calculations. It wasn’t the right way, but the most expedient because the maintainer was most familiar with Excel and we needed to put more thought into our database needs.
We’re now in that phase, and I’ve been playing around with a trial copy of FileMaker Pro 8, expecting it to be a snatch to migrate the data and design a proper database. (The two members who will be maintaining the database already have FileMaker, so it’s the obvious choice.)
Hah! The first problem is that FMP imports all 65,484 rows of the Excel spreadsheet as records, even though all but a few hundred are empty. (Selecting and naming a range didn’t help, because FMP doesn’t let you specify ranges, named or otherwise.) Fortunately, deleting all of the blank ones only required 5 separate steps. Of course, FMP imports all fields as type “Text”, so you have to go re-define all the number and date fields that already had been marked as such in Excel.
After all of this nonsense, I decided to design the database from scratch, then import from Excel. Since my Excel and database field names are slightly different, FMP doesn’t get the mapping quite right. And although the import dialog allows me to reorder the fields, the design completely fails if I only need to fix one field, since dragging it into position forces everything below it that had been correct to be off by one. Talk about fencepost errors!
After working around all these problems, I have a rough database design that I like. I still have to fix some of the formatting (some membership numbers are showing up as 2.0001e+09), convert a few fields to a Boolean type, define pick lists, and restructure a few other fields, then I can enjoy the fun of figuring out how to do a mail merge in yet another application, and discovering if this FileMakre Pro 8 database will work with older versions.