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%>
Avevo risolto in questo modo, ma forse il tuo metodo è migliore!