I use Brickstore to keep track of my parts collection. It's tedious to enter (I have a 75,000+ part collection which I entered manually) but once it's in, you can use it to find out all sorts of neat things about your collection. Want to make sure you have enough of a certain part? Just look it up in Brickstore. Buy a new set and want to add it to your parts inventory? Easily done. One really neat feature of this program is that you can load the file with all your parts in one document and then grab an inventory of a set from BL and load it into another document and using the subtract function, you can see which parts might be missing to build the set.