I guess my confusion here is that I see a relationship. Why can't you just create an INNER JOIN query that allows the countries to filter the towns based on the streets (or any combination therein).
Unless I am totally missing you here, let's just forget which form you are on. You said that you have a relationship like this:
Countries -> Towns -> Streets
If this is the case, then regardless of where you are, you can filter any combination based on the country. For example let's assume that I have the following structure:
Countries
ct_pk - INT - Primary Key
ct_Name - VARCHAR(128)
Towns
tw_pk - INT - Primary Key
tw_ct_pk - INT - Foreign Key of Countries
tw_Name - VARCHAR(128) - Name of town
Streets
st_pk - INT - Primary Key
st_tw_pk - INT - Foreign Key of Towns
st_Name - VARCHAR(128) - Name of street
OK, I know that this is a simple structure example, but I am not getting your problem, so let's just take this structure sample. In the case that all I have is the countries and I want to get the streets based on the selected country, I would create a query something like this:
SELECT
Streets.*
FROM Streets, Towns, Countries
WHERE Streets.st_tw_pk = Towns.tw_pk AND Towns.tw_ct_pk = Countries.ct_pk AND Countries.ct_pk = MySelectedCountryValue
In the above query, I would just be passing over the MySelectedCountryValue as an INT of the selected country from the combo. I am not sure if I am in the ballpark here of your problem, but there is generally always some type of relationship that you can use to get back to the data, so I guess that is my point of confusion in your problem here.