As a database programmer (primarily Access, SQL Server, and Oracle), I of course, am biased towards Access. My buddy (who has an extensive collection, and used to do some programming), built a nice Access database for his collection. Besides all the information about each gun, he also keeps reloading info (gun specific & general) in there. Now, you can use Excel, but one of the biggest advantages of Access (or most database programs) is the "search" capabilities, which can be quite extensive/programmable.
Access is not very difficult to learn, for making "basic" databases, in fact there's lots of "Wizards" to help you along. However once you get a certain level of complexity, it CAN be daunting for a non-programmer.
I've often thought of writing a "gun collection database"(plus reloading info), and I even have a compiler for Access, so I could distribute it, and the users wouldn't need Access to use it. Or I could do it in Visual Basic, which when comiled is a little faster, but takes more programming) If there were enough people willing to pay a few dollars for it, I'd probably consider it. (For me, this is something I could whip up in a day or 2, depending on how fancy I got with it.)