Avevo risolto in questo modo, ma forse il tuo metodo è migliore!codice:<% Set RecSet = Server.CreateObject("ADODB.Recordset") Visa = "SELECT data FROM elenco WHERE Year(data)="& anno &" And Tipo='" & tipo & "' GROUP BY data ORDER BY data" RecSet.Open Visa, objConn, adOpenDynamic, adLockOptimistic Dim strAzione1, strAzione2, strAzione3, strAzione4, strAzione5, strAzione6, strAzione7, strAzione8, strAzione9, strAzione10, strAzione11, strAzione12 strAzione1 = "" strAzione2 = "" strAzione3 = "" strAzione4 = "" strAzione5 = "" strAzione6 = "" strAzione7 = "" strAzione8 = "" strAzione9 = "" strAzione10 = "" strAzione11 = "" strAzione12 = "" %> <h2>Resoconto lavori di <%=tipo%> dell'anno <%=anno%></h2> <div> <% do until RecSet.EOF mes=Month(RecSet("data")) mese=MonthName(mes) if mes="1" And strAzione1 = "" Then%> <h2><%Response.Write(mese)%></h2> <% strAzione1 = "ok" End if if mes="2" And strAzione2 = "" Then%> <h2><%Response.Write(mese)%></h2> <% strAzione2 = "ok" End if if mes="3" And strAzione3 = "" Then%> <h2><%Response.Write(mese)%></h2> <% strAzione3 = "ok" End if if mes="4" And strAzione4 = "" Then%> <h2><%Response.Write(mese)%></h2> <% strAzione4 = "ok" End if if mes="5" And strAzione5 = "" Then%> <h2><%Response.Write(mese)%></h2> <% strAzione5 = "ok" End if if mes="6" And strAzione6 = "" Then%> <h2><%Response.Write(mese)%></h2> <% strAzione6 = "ok" End if if mes="7" And strAzione7 = "" Then%> <h2><%Response.Write(mese)%></h2> <% strAzione7 = "ok" End if if mes="8" And strAzione8 = "" Then%> <h2><%Response.Write(mese)%></h2> <% strAzione8 = "ok" End if if mes="9" And strAzione9 = "" Then%> <h2><%Response.Write(mese)%></h2> <% strAzione9 = "ok" End if if mes="10" And strAzione10 = "" Then%> <h2><%Response.Write(mese)%></h2> <% strAzione10 = "ok" End if if mes="11" And strAzione11 = "" Then%> <h2><%Response.Write(mese)%></h2> <% strAzione11 = "ok" End if if mes="12" And strAzione12 = "" Then%> <h2><%Response.Write(mese)%></h2> <% strAzione12 = "ok" End if%>