Om någon är intresserad löste jag problemet på detta sätt (aningen stolt själv även om det säkert inte är den bästa lösningen):
<% Show = "SELECT DatePart('ww', Dat, 2, 2), Year(Dat), min(Dat) FROM Diary GROUP BY DatePart('ww', Dat, 2, 2), Year(Dat) ORDER BY min(Dat) DESC"
RecSet.Open Show, Connect, 3, 3
Do While Not RecSet.EOF
Dat = RecSet(0)
Dat2 = RecSet(1)
If Dat = 1 Then
Set RecSet2 = Server.CreateObject("ADODB.RecordSet")
Show = "SELECT * FROM Diary WHERE DatePart('ww', Dat, 2, 2) = 1 AND Year(Dat) = " & Dat2 & " AND Month(Dat) = 1"
RecSet2.Open Show, Connect, 3, 3
If RecSet2.EOF Then
Dat2 = Dat2 + 1 %>
<TR><TD><SPAN CLASS="subheading"><A HREF="diary.asp?diary=workouts&week=<% =Dat %>&year=<% =Dat2 %>">Week <% =Dat %>, <% =Dat2 %></A></SPAN></TD></TR>
<% End If
RecSet2.Close
ElseIf Dat > 51 Then
Set RecSet2 = Server.CreateObject("ADODB.RecordSet")
Show = "SELECT * FROM Diary WHERE DatePart('ww', Dat, 2, 2) > 51 AND Year(Dat) = " & Dat2 & " AND Month(Dat) = 12"
RecSet2.Open Show, Connect, 3, 3
If RecSet2.EOF Then
Dat2 = Dat2 - 1 %>
<TR><TD><SPAN CLASS="subheading"><A HREF="diary.asp?diary=workouts&week=<% =Dat %>&year=<% =Dat2 %>">Week <% =Dat %>, <% =Dat2 %></A></SPAN></TD></TR>
<% End If
RecSet2.Close
Else %>
<TR><TD><SPAN CLASS="subheading"><A HREF="diary.asp?diary=workouts&week=<% =Dat %>&year=<% =Dat2 %>">Week <% =Dat %>, <% =Dat2 %></A></SPAN></TD></TR>
<% End If %>