160 messaggi dal 23 febbraio 2004
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è...
2.584 messaggi dal 14 maggio 2001
Se "TUTTE" allora strVar = false

Quindi la tabella non viene valorizzata perché metti il controllo:
if strVar = True then
160 messaggi dal 23 febbraio 2004
seoman ha scritto:
Se "TUTTE" allora strVar = false

Quindi la tabella non viene valorizzata perché metti il controllo:
if strVar = True then


Grazie, ma facendo così in qualunche caso vedo la TBELLAN2.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.