2.584 messaggi dal 14 maggio 2001
sqlt = "SELECT * FROM disponibilita WHERE ( id = '"&id_hotel&"') and id_date > '365 ORDER BY id_data, id_periodo "
'Così i dati li hai raggruppati come da tuo esempio

set rst = conn.execute(sqlt)
Do While not rst.eof=true
Do While not TempId<>rst.fields("id_prodotto")
response.write rst.fields("id_data")
TempId = rst.fields("id_prodotto") & " &nbsp;"
rst.movenext
If rst.eof=True Then
Exit Do
End If
Loop
response.write TempId & "<br>"
Loop
%>


TempId contiene il valore di id_prodotto in modo da andare a capo solo quando id_prodotto cambia valore (prima del movenext lo valorizzo con il valore attuale)
2.584 messaggi dal 14 maggio 2001
Il codice non era corretto questa (dovrebbe) essere la versione definitiva...

...
set rst = conn.execute(sqlt)
If rst.eof=False Then
' verifico di non essere alla fine del file
TempId=rst.fields("id_periodo")
'Assegno ad una variabile temporanea il valore di n_periodo
Do While not rst.eof=true
'ciclo su tutto il recordset
Do
'entro almeno una volta nel loop interno che mi genera le righe
'dividendo in blocchi gli id_data
response.write rst.fields("id_data")
TempId = rst.fields("id_periodo")
'rivalorizzo la variabile (non serve per il primo giro ma per i successivi)
rst.movenext
If rst.eof=True Then
'se ho finito il recordset esco
Exit Do
End If
Loop While not TempId<>rst.fields("id_periodo")
'il loop ha come condizione di eseguirlo "fino a che non è vera la condizione:
'TempId diverso dal valore corrente di rst.fields("id_periodo")
response.write " - id_periodo: " & TempId & "<br>"
'scrivo il valore di id_periodo della riga corrente
Loop
...

Modificato da seoman il 15 gennaio 2004 12.57 -
3 messaggi dal 22 settembre 2001
Penso che sia la soluzione migliore

vincenzo formica
2.584 messaggi dal 14 maggio 2001
Scusatemi manca un End If alla fine

....
'scrivo il valore di id_periodo della riga corrente
Loop
END IF
...
49 messaggi dal 06 settembre 2002
grazie!!! funziona perfettamente.

posso chiederti se:

nel response.write mi mette tutti gli id
e possibile per ogni gruppo estrarre il primo e l'ultimo id_date?

cioe
anziche avere :
125 126 126 127 128 128 n_periodo 1

avere una visualizzazione del tipo :

da id_date 125 a id_date 128 n_periodo 1

grazie
milena
2.584 messaggi dal 14 maggio 2001
Prova così:

...
set rst = conn.execute(sqlt)
If rst.eof=False Then
' verifico di non essere alla fine del file
TempId=rst.fields("id_periodo")
'Assegno ad una variabile temporanea il valore di n_periodo
Do While not rst.eof=true
'ciclo su tutto il recordset
response.write "da " & rst.fields("id_data")
Do
'entro almeno una volta nel loop interno che mi genera le righe
'dividendo in blocchi gli id_data
TempData = rst.fields("id_data")
TempId = rst.fields("id_periodo")
'rivalorizzo la variabile (non serve per il primo giro ma per i successivi)
rst.movenext
If rst.eof=True Then
'se ho finito il recordset esco
Exit Do
End If
Loop While not TempId<>rst.fields("id_periodo")
'il loop ha come condizione di eseguirlo "fino a che non è vera la condizione:
'TempId diverso dal valore corrente di rst.fields("id_periodo")
response.write " a " & TempData
response.write " - id_periodo: " & TempId & "<br>"
'scrivo il valore di id_periodo della riga corrente
Loop
...
49 messaggi dal 06 settembre 2002
grazie !!! funziona tutto benisimo !!!!!

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.