Plastic bags in a desk is cheap
I use a similar mechanism. Plastic bags in boxes (shoebox size).
For smaller components I use small zip-lock bags. On each zip lock bag is a description of the contents, and most importantly a unique "stock" number.
The stock number is repeated in a spreadsheet that contains all the information I need to search for, or re-order the item.
Each box has a number, and this is also listed in the spreadsheet so that after finding the component I can go directly to the box it is in and look through the bags to find it. (looking for the prominently displayed number). I'd like to say that the bags are all in order, and I can go straight to the bag, but that would be a lie
I don't bother putting particular things in particular boxes. I tend to put similar size bags together (so some boxes contain bags of very small components, or those few in number, and others contain bulky things.
I can sort my spreadsheet by location, and this allows me to see what is in each box. This is useful if you ever want to do a "stock-take". It allows you to go through a box and verify its contents. I have only done this once (for all boxes), but it allowed me to find a few things that had walked into the wrong box, and some that had escaped entirely!
I have one long box that holds tubes, a big box that stores reels, etc. I have quite a few boxes, and three which are most important are:
1) A box to hold parts before I decide where to put them permanently (without this you'll lose stuff if you don't have time to file it somewhere. I also use this for components bought for a particular project that I'll probably use almost immediately.
2) A box that holds bags of components that I've used and no longer need. If I can't put them back immediately, I dump them in here so they don't get lost.
3) A box to hold components for the current project.
I should probably add a fourth:
4) The box that deliveries come in. Before things are entered into the spreadsheet they stay in their box, because otherwise they will also get lost.
A vast number of my components are surface mount, and if you remove them from the bag you will quite often not be able to tell what they are. For this reason, it's vitally important to have things properly labelled. This is less of a concern for larger components.
Once you have a spreadsheet of parts, you can use it to search for suitable components. Suitable may mean specifications or quantity.
Through trial and error I have come up with the following columns:
ID - The unique number on each bag, tag, and/or tube
Manufacturer - Who made it
Part number - Manufacturer's part number
Type - Broad type of component (passive, semiconductor, module, hardware, ..)
Sub-type - More detailed category (for passive; capacitor, crystal, inductor, resistor, ...)
Sort - A sortable field containing the "most important specification" for that device. For resistors it is resistance, for transistors it is Vceo, for CMOS logic it is the 4000 or 7400 nearest equivalent)
Package - the package (e.g. TO3, 0805, etc.)
Style - TH or SMD
Description - A text description, usually a summary of specs
Data - Yes, or No (do I have a datasheet for this component)
Qty - How many of these I bought
Qty Used - How many I have used
Date - Year and month of purchase.
Cost ea - How much I paid for them (inc freight)
Retail each - Cost for a single unit (ex freight)
Bulk each - cost each in the quantity I ordered (ex freight)
From - Who did I get them from
Part No - The supplier's part number
Location - Which box are they in
3 cost columns - Calculated purchase cost of qty remaining by 3 methods
Notes - any notes
Here's an example:
ID - 93
Manufacturer - blank (unknown)
Part number - KSC341G
Type - hardware
Sub-type - switch
Sort - A001 (A is my *10^0 (*1) multiplier, 001 is the number - represents number of poles (1))
Package - blank
Style - SMD
Description - Tactile switch
Data - blank (no)
Qty - 200
Qty Used - 2
Date - 2010-06
Cost ea - 0.1261
Retail each - 0.47
Bulk each - 0.41
From - ebay
Part No - blank
Location - Box02
3 cost columns - 24.97, 93.65, 80.19
Notes - blank