Ciao, sono alle prese con l'estrazione tramite query dei dati che vengono da un form (quattro select)...
una parte dei dati devono essere estratti da tbl diverse e mostrate alternativamente secondo quanto arriva dal form; mi spiego meglio questa è la logica che sto cercando di seguire:
-select regioni
-select capoluogo
-select comuni
-select condizione
Nella select condizione ho inserito un campo TUTTE con valore Tutte.
'RECUPERO I DATI DAL FORM
reg = request("regioni")
prov = request("capoluogo")
com = request("comuni")
cond = request("condizione")
'CONN AL DATABASE
Dim Cn
Set Cn=Server.CreateObject("ADODB.Connection")
Cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& server.MapPath(path&"/DATABASE.mdb")
Dim SQL, REC, SQLX, RECX
'LA VARIABILE
Dim strVAR
if cond = "TUTTE" Then
strVar = False
else
strVar = True
end if
if strVar = False Then
SQL = "select * From TABELLA WHERE 1=1"
If ucase(trim(reg)) <> "0" then
SQL = SQL & " AND REGIONI = '"& reg &"'"
End if
If ucase(trim(prov)) <> "0" then
SQL = SQL & " AND CAPOLUOGO = '"& prov &"'"
End If
If ucase(trim(com)) <> "TUTTI" then
SQL = SQL & " AND COMUNI = '"& com &"'"
End If
Set REC = Cn.Execute(SQL)
.............
'IL PRIMO RECORDSET E' PIENO
if not REC.eof then
'CICLO SUL PRIMO RECORDSET
While Not REC.EOF
'MUOVO IL PRIMO
REC.MoveNext
Wend
end if
'CHIUDO IL PRIMO
REC.Close
Set REC = Nothing
end if
if strVar = True then
SQLX = "select * From TABELLAN2 WHERE 1=1"
If ucase(trim(cond)) <> "TUTTE" then
SQLX = SQLX & " AND condizione = '"& cond &"'"
End if
Set RECX = Cn.Execute(SQLX)
'CONTROLLO SUL SECONDO RECORDSET
'IL SECONDO E' PIENO
if not RECX.eof then
'CICLO SUL SECONDO RECORDSET
While Not RECX.EOF
'MUOVO IL SECONDO
RECX.MoveNext
Wend
end if
'CHIUDO LA CONNESSIONE
Cn.Close
Set Cn = Nothing
end if
Il problema è che non riesco a soddisfare la condizione TUTTE del form condizione... cioè:
reg = 0
prov = 0
com = tutte
cond = tutte
estrae solo la TABELLA e non la TABELLAN2 e non capisco perchè...