Ciao ragass...ho bisogno di un helpino

Dim Conn

Set Conn = Server.CreateObject("ADODB.Connection")

conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("db/db.mdb")

dim rs3
set rs3= Server.CreateObject("ADODB.Recordset")
sql3= "SELECT [rata]-(([rata]*[perc_margine_meno])/100) AS RataMin, [rata]+(([rata]*[perc_margine_piu])/100) AS RataMax FROM immobili"
RS3.Open sql3, conn, 1, 3

dim prezzoiniziale,prezzofinale,strprezzo

if request("rata")<>"" then
prezzoiniziale=clng(rs3("RataMin"))
prezzofinale=clng(rs3("RataMax"))
strprezzo=" and clng(rata) between " & prezzoiniziale & " and " & prezzofinale
End If


Set rs2 = Server.CreateObject("ADODB.Recordset")

sql = "SELECT * FROM luoghi INNER JOIN (tipologie INNER JOIN immobili ON tipologie.id_tipologia = immobili.id_tipologia) ON luoghi.id_luogo = immobili.id_luogo where luoghi.regione like '%"&chiave&"%' and luoghi.provincia like '%"&chiave2&"%' and luoghi.comune like '%"&chiave3&"%' and tipologie.tipologia like '%"&chiave4&"%' " & strprezzo & ""


RS2.Open sql, conn, 1, 3

qualcuno ha idea del motivo per cui strprezzo mi da dei valori sballati?
premetto che questo
dim rs3
set rs3= Server.CreateObject("ADODB.Recordset")
sql3= "SELECT [rata]-(([rata]*[perc_margine_meno])/100) AS RataMin, [rata]+(([rata]*[perc_margine_piu])/100) AS RataMax FROM immobili"
RS3.Open sql3, conn, 1, 3
se lo copio incollo in access, mi calcola rata min e rata max giusti