<%
' connessione al DB
Dim strConnect
	strConnect = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("database.mdb") 
' Query String
Dim regione
Dim provincia
Dim comune
	regione = Trim(Mid(Request.Form("regione"), 1, 50))
	provincia = Trim(Mid(Request.Form("provincia"), 1, 50))
	comune = Trim(Mid(Request.Form("comune"), 1, 50))
	
' >>>>>>>>>>> SELEZIONO LA REGIONE <<<<<<<<<<<<<
If Trim(Mid(Request.Form("regione"), 1, 50)) = "" Then 
%>
<form method="post" action="<%=Request.ServerVariables("PATH_INFO")%>">
Seleziona regione: <select name="regione">
<option value=""></option><%
'  *** recupero le regioni ***
Set Regione = Server.CreateObject("ADODB.Recordset")
	Regione.ActiveConnection = strConnect
	Regione.Source = "SELECT DISTINCT pr_regione FROM province" 
	Regione.CursorType = 0
	Regione.CursorLocation = 2
	Regione.LockType = 1
	Regione.Open()
	Regione_numRows = 0
	Rp__Regione = 999
	Regione_numRows = Regione_numRows + Rp__Regione
While ((Rp__Regione <> 0) AND (NOT Regione.EOF)) 
	
	Rs_regione = (Regione.Fields.Item("Pr_Regione").Value)
%><option value="<%=Rs_regione%>"><%=Rs_regione%></option><%
	Rp__Regione=Rp__Regione+1
	Rp__Regione=Rp__Regione-1
	Regione.MoveNext()
Wend
	Regione.Close
Set Regione = Nothing ' chiudo il recordset
%>
</select>
<input type="submit" name="Go" value="Go" />
</form>
<% Else %>
Regione selezionata: <%=regione%><br /><br />
<% 
End If 
' >>>>>>>>>>> SELEZIONO LA PROVINCIA <<<<<<<<<<<<<
If (Trim(Mid(Request.Form("regione"), 1, 50)) <> "") AND (Trim(Mid(Request.Form("provincia"), 1, 50)) = "") Then 
%>
<form method="post" action="<%=Request.ServerVariables("PATH_INFO")%>">
<input type="hidden" name="regione" value="<%=regione%>" />
Seleziona provincia: <select name="provincia">
<option value=""></option><%
'  *** recupero le provincie ***
Set Provincia = Server.CreateObject("ADODB.Recordset")
	Provincia.ActiveConnection = strConnect
	Provincia.Source = "SELECT * FROM province WHERE pr_regione= '"®ione&"'" 
	Provincia.CursorType = 0
	Provincia.CursorLocation = 2
	Provincia.LockType = 1
	Provincia.Open()
	Provincia_numRows = 0
	Rp__Provincia = 999
	Provincia_numRows = Provincia_numRows + Rp__Provincia
While ((Rp__Provincia <> 0) AND (NOT Provincia.EOF)) 
	
	Rs_Provincia = (Provincia.Fields.Item("Pr_Desc").Value)
	Rs_Provincia_Sigla = (Provincia.Fields.Item("Pr_Sigla").Value)
%><option value="<%=Rs_Provincia_Sigla%>"><%=Rs_Provincia%></option><%
	Rp__Provincia=Rp__Provincia+1
	Rp__Provincia=Rp__Provincia-1
	Provincia.MoveNext()
Wend
	Provincia.Close
Set Provincia = Nothing ' chiudo il recordset
%>
</select>
<input type="submit" name="Go" value="Go" />
</form>
<% ElseIf (Trim(Mid(Request.Form("regione"), 1, 50)) <> "") AND (Trim(Mid(Request.Form("provincia"), 1, 50)) <> "") Then %>
Sigla provincia selezionata: <%=Provincia%><br /><br />
<% 
End If 
' >>>>>>>>>>> SELEZIONO IL COMUNE <<<<<<<<<<<<<
If (Trim(Mid(Request.Form("regione"), 1, 50)) <> "") AND (Trim(Mid(Request.Form("provincia"), 1, 50)) <> "") AND (Trim(Mid(Request.Form("comune"), 1, 50)) = "") Then 
%>
<form method="post" action="<%=Request.ServerVariables("PATH_INFO")%>">
<input type="hidden" name="regione" value="<%=regione%>" />
<input type="hidden" name="provincia" value="<%=provincia%>" />
Seleziona comune: <select name="comune">
<option value=""></option><%
'  *** recupero i comuni ***
Set Comune = Server.CreateObject("ADODB.Recordset")
	Comune.ActiveConnection = strConnect
	Comune.Source = "SELECT loc_desc, loc_prov FROM comuni WHERE Loc_Prov = '"&provincia&"'" 
	Comune.CursorType = 0
	Comune.CursorLocation = 2
	Comune.LockType = 1
	Comune.Open()
	Comune_numRows = 0
	Rp__Comune = 999
	Comune_numRows = Comune_numRows + Rp__Comune
While ((Rp__Comune <> 0) AND (NOT Comune.EOF)) 
	
	Rs_Comune = (Comune.Fields.Item("Loc_Desc").Value)
%><option value="<%=Rs_Comune%>"><%=Rs_Comune%></option><%
	Rp__Comune=Rp__Comune+1
	Rp__Comune=Rp__Comune-1
	Comune.MoveNext()
Wend
	Comune.Close
Set Comune = Nothing ' chiudo il recordset
%>
</select>
<input type="submit" name="Go" value="Go" />
</form>
<% ElseIf (Trim(Mid(Request.Form("regione"), 1, 50)) <> "") AND (Trim(Mid(Request.Form("provincia"), 1, 50)) <> "") AND (Trim(Mid(Request.Form("comune"), 1, 50)) <> "") Then %>
Comune selezionato: <%=Comune%><br /><BR />
<% 
End If 
' >>>>>>>>>>> RISULTATO FINALE <<<<<<<<<<<<<
If (Request.Form("regione") <> "") AND (Request.Form("provincia") <> "") AND (Request.Form("comune") <> "") Then 
Set rs = Server.CreateObject("ADODB.Recordset")
	rs.ActiveConnection = strConnect
	rs.Source = "Select * from comuni where loc_desc='"&comune&"'" 
	rs.CursorType = 0
	rs.CursorLocation = 2
	rs.LockType = 1
	rs.Open()
%>
<br/><br/><br/><br/><br/><br/>
<div align="center">Hai scelto il comune di <b><%=comune%> ( <%=provincia%> )</b></div>
<br/>
<div align="center">in  <b><%=regione%></b></div>
<div align="center">val1 =   <b><%=rs("val1")%></b></div>
<div align="center">val2 =   <b><%=rs("val2")%></b></div>
<div align="center">zona =   <b><%=rs("zona")%></b></div>
<div align="center"><br /><br /><br /><a href="<%=Request.ServerVariables("PATH_INFO")%>">Reset</a><br /></div>
<%
	rs.Close
Set rs = Nothing ' chiudo il recordset
End If 
' script 28/12/2010
' modificato 29/12/2010
%>