CLR will clean your dishwasher. From their website:
-------------------------------------------
Simply run your empty machine without detergent up to the main cycle. Stop the machine, add ½ cup of CLR to your washing machine or ¼ cup to your dishwasher, and let the cycle finish. To make sure that the CLR is fully flushed from the system, run an additional full cycle (wash and rinse) with just water.
--------------------------------------------
This will clean up the spray arm jets and inside of the machine quite nicely. It will NOT dissolve all the stuff that can clog up a dishwasher. I sometimes have to remove the spray aarms from my machine and backflush stuff out of it. Grape and lemon seeds seem to get caught and block things up.
Fritz Schaffer, December 2008