I call this a "Hierarchical conditional value list".
I have more than one working example of this (They don't all work the same way, and some use ExecuteSQL while others do not.)
You can find them in:
This is a free down load of 10 different methods for setting up a conditional value list each with detailed descriptions, explanations and documentation.
THANK YOU THANK YOU THANK YOU worked like a charm!