This is quite a complex subject with many options depending on the type of diagnostic socket fitted to your car, how many functions you wish to interrogate and needless to say your budget.
Aftermarket code readers made by Snap on, Bosch etc will cost £2000 - £5000 and allow access to most functions (not all), others such as Sykes Pickavant ACR4 will access the engine, ABS, Airbags and gearbox can be bought second hand for say £500. If however you wish to access everything on the car, engine, gearbox, ABS, airbags, air con, Hydractive, indexed rear view mirror etc etc then you need a dealers tool such as ELIT, Souriau 26A, Lexia, Proxia which depending on model is difficult to get hold of and expensive unless you buy second hand on Ebay, expect to pay between £600- £1000. I notice that someone is offering a Lexia new on Ebay for around £1200 but with no feedback on the product I'd be reluctant to spend that sort of money personally. One thing to also bear in mind here is that I've heard that there are spurious Lexia products being made in China.
I've been using the Sykes ACR4 for a few years now and find that it's OK, but yesterday I managed to pick up an ELIT which quite opened my eyes as to how far a dealers diagnostic tool will go, talk about making life easy, it picked up a logged fault code on my Activa of the steering wheel sensor having an intermittant fault which I would never have found otherwise. Best of all you can set the ELIT up to analyse functions on the car whilst it is being driven, should a fault be found then it immediately lets you know.
Ultimately you pays your money etc etc.
As a starting point the following link might help
http://www.bba-reman.com/