There's a dozen places to test for voltage so you have to be more specific when you say "it has voltage". You can split the system into three distinct circuits, the low-current ignition switch circuit including the coil part of the starter relay, the medium-current part including the starter relay contacts and starter solenoid coil, and the high-current circuit that includes the solenoid contacts, starter motor, and both battery cables.
If you don't hear the starter relay click when you turn the ignition switch to "crank", it's the low-current circuit that has the problem or there's a problem with the battery / cables. Turn on the head lights and see how bright they are. If they're bright, see if they stay bright when you try to crank the engine. If the lights go out or get dim, you have a battery or cable connection problem. If they stay bright, there is a problem with the ignition switch, neutral safety switch, starter relay, or wiring between them.
See if this page helps:
Saturday, April 14th, 2012 AT 7:06 PM