What are you trying to accomplish with the B12? If you have pernicious anemia, which is a B12 deficiency, you will need shots. If you are trying to lose weight with B12, I'd suggest you save your money because B12 is not a weight loss aid...........
If you are taking the B-12 for energy it does work. I have methylcobalamin (the injectable B-12 without preservatives) prescribed for me by a holistic doctor. You can ask your doctor (if she/he is willing) to test your levels of Vit. B-12. If it is low, then you could ask for the RX. I had CFS and LYME and I used it to great advantage. I am still taking it now every 3 days as prescribed. Each person is different. Mine comes from Wellness Pharmacy in Birminham, Alabama and the number is 800-227-2627 and you will need an RX to get it. I, personally, have tried the tablets and they have not worked for me. Or, at least, I have to say I did not notice a difference. If you have fatigue you WILL notice a difference with injectable. As Barb135 stated, it is not for weight loss.
The pills don't work for me either because I lack the substance in my stomach that allows the B12 to be absorbed.
Most doctors won't give a script for shots, though unless your levels are low. You can always try a sublingual or a liquid; those seem to work for some. In fact, since my doctor will only allow me to inject every 2 weeks, I sometimes add a sublingual between shots. It does help keep my energy levels up.