Try temporarily booting your computer with another OS using a Live CD (Ubuntu Linux works well). This might allow you to retrieve your data.
If the directory information on your external drive got corrupted, you may need to run a program that can rebuild it. I've heard such programs exist, but I can't recommend any as I've never needed to use one.
If you or someone you know has a copy of SpinRite, run it on your external drive. It may take a while to run, but I've seen it bring back drives that I thought were almost dead.