Hej!
Jag undrar om någon kan hjälpa mig med ett veckoschema som är kopplad till en access databas. Den fungerar alldeles utmärkt tills man kommer till vecka 52 (sista veckan detta år 25/12-31/12). Vad som händer är att när man vill titta på vecka 52 hamnar man på vecka 1 år 2006.
Jag försökt felsöka men hittar inte felet. Blir jätteglad om någon vet hur man kan fixa detta.
/Annette
Min kodsida för detta:
<%@ Language=VBScript %>
<!--#include file = "../include/adovbs.inc"-->
<!--#include file = "../include/db.asp"-->
<% Session.LCID = 1053
dtmDate = Request.QueryString("dtmDate")
If dtmDate="" Then
dtmDate = date()
End If
weekno = DatePart("WW", dtmDate, 2,2)
y = DatePart("YYYY", dtmDate)
'Plocka bort gamla händelser
weeknow = DatePart("WW", Date(), 2,2)
Set RecSet = Server.CreateObject("ADODB.Recordset")
Hamta = "SELECT * FROM VeckoSchema WHERE Vecka = " & (weeknow-1) & ""
RecSet.Open Hamta, DB, adOpenStatic, adLockOptimistic
Do Until RecSet.EOF
RecSet.Delete
RecSet.MoveNext
Loop
RecSet.Close
Set RecSet = Nothing
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Veckoschema</title>
<link rel='stylesheet' type='text/css' href='../formatmall/formatmall.css'>
<script language="javascript">
function PopWin(url) {
var winh = 300;
var winw = 320;
var winl = (screen.width - winw) / 2;
var wint = (screen.height - winh) / 2;
winprops = 'height='+winh+',width='+winw+',top='+wint+',left='+winl+',toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,copyhistory=no,scrollbars=no'
remote = window.open("","",winprops);
remote.location.href = url;
}
</script>
</head>
<body>
<table width="100%" cellpadding="4" cellspacing="0" border="0">
<tr><td><h1>VECKOSCHEMA</h1>
För att lägga till/ändra en händelse - klicka på datumet.<br>
Om man vill lägga in en händelse längre fram i tiden - använd länken "Nästa
vecka" för att ta sig till det aktuella datumet.</td></tr>
</table>
<table width="100%" cellpadding="4" cellspacing="0" border="0" id="kalendarium">
<tr><td class="dagar" align="left" valign="top">Vecka: <%=weekno%></td>
<% startdate= y & "-01-01"
Do Until DatePart("ww", startdate, 2, 2) = weekno
startdate = DateAdd("d", 1, startdate)
Loop
if weekday(startdate, vbMonday) > 1 then startdate = dateadd("d", -(weekday(startdate)-2), startdate)
For d = startdate To DateAdd("d", 6, startdate)
Response.write d
Response.End
Select Case weekdayname(weekday(d))
Case "söndag"
sClass = "dagarred"
Case "lördag"
sClass = "dagarred"
Case Else
sClass = "dagar"
End Select
If d = Date() Then
sClass = "dagaraktiv"
End If
%>
<%
Response.Write "<td class='" & sClass & "'>" & Ucase(weekdayname(weekday(d))) & "<br>" & day(d) & " " & MonthName(Month(d)) & "</td>"
startdate = DateAdd("d", 1, startdate)
next
%>
</tr>
<tr>
<td align="left" valign="top" colspan="8" class="visakal">
<p id="ovanvisavecka">
<% pw1 = DateAdd("d", -14, startdate)
If weekno = DatePart("WW", Date(), 2,2) Then
Response.Write "<span class='visavecka'>"
Else
Response.Write "<span class='visavecka'><a href=?dtmDate=" & pw1 & ">« Föregående Vecka</a>"
End If
Response.Write " || "
Response.Write "<a href=?dtmDate=" & d & ">Nästa Vecka »</a></span> || "
%>
</p>
</td>
</tr>
<%
Dim Hamta
Set RecSet = Server.CreateObject("ADODB.Recordset")
Hamta = "SELECT * FROM Personal WHERE Veckoschema = True ORDER BY Fnamn ASC"
RecSet.Open Hamta, DB, adOpenForwardOnly, adLockReadOnly
Do Until RecSet.EOF
Dim IDnamn
IDnamn = RecSet("ID")
Dim bgcol
If bgcol = "#E9ECF5" then
bgcol = "#FFFFFF"
Else
bgcol = "#E9ECF5"
End If
startdate= y & "-01-01"
Do Until DatePart("ww", startdate, 2, 2) = weekno
startdate = DateAdd("d", 1, startdate)
Loop
if weekday(startdate, vbMonday) > 1 then startdate = dateadd("d", -(weekday(startdate)-2), startdate)
%>
<tr><td align="left" valign="top" class="visanamn" bgcolor="<%=bgcol%>" width="9%">
<%=Ucase(RecSet("Fnamn"))%> <%=Left(RecSet("Enamn"),1)%>
</td>
<%
For d = startdate To DateAdd("d", 6, startdate)
%>
<td align="left" valign="top" class="visakal" bgcolor="<%=bgcol%>" width="13%">
<% ' Checka av om det finns en händelse
Set RecSet2 = Server.CreateObject("ADODB.Recordset")
Hamta = "SELECT * FROM VeckoSchema WHERE NamnID = " & IDnamn & " AND Datum = #" & d & "#"
RecSet2.Open Hamta, DB, adOpenForwardOnly, adLockReadOnly
If RecSet2.EOF Then
%>
<span class="liten">
<a href="javascript:PopWin('laggtill.asp?ID=<%=IDnamn%>&Vecka=<%=weekno%>&Datum=<%=d%>')" title="Hej <%=RecSet("Fnamn")%> - Klicka här för att lägga till en händelse den <%=d%>"><%=day(d)%></a>
</span>
<% RecSet2.Close
Set Recset2 = Nothing
Else
Dim IDorsak, Orsak, Datum
IDorsak = RecSet2("ID")
Orsak = RecSet2("Orsak")
Datum = RecSet2("Datum")
If CInt(Right(Datum,2)) = day(d) Then
%>
<span class="liten">
<a href="javascript:PopWin('redigera.asp?ID=<%=IDnamn%>&IDorsak=<%=IDorsak%>&Datum=<%=d%>')" title="Hej <%=RecSet("Fnamn")%> - Klicka här för att ändra en händelse den <%=d%>">
<%=day(d)%></a></span>
<br><%=Replace(Trim(Orsak),vbCrLf,"<br>")%>
<% End If %>
</td>
<% startdate = DateAdd("d", 1, startdate)
RecSet2.Close
Set Recset2 = Nothing
End If
next
%>
</tr>
<% RecSet.MoveNext
Loop
Recset.Close
set RecSet = Nothing
%>
<tr>
<td align="left" valign="top" class="nastavecka" colspan="8">
<% pw = DateAdd("d", -7, startdate)
If weekno = DatePart("WW", Date(), 2,2) Then
Response.Write "<span class='visavecka'>"
Else
Response.Write "<span class='visavecka'><a href=?dtmDate=" & pw & ">« Föregående Vecka</a>"
End If
Response.Write " || "
Response.Write "<a href=?dtmDate=" & d & ">Nästa Vecka »</a></span> || "
%>
</td>
</tr>
</table>
</body>
<% DB.Close %>
</html>