webForumDet fria alternativet

Veckoschema - bugg

0 svar · 298 visningar · startad av corona

coronaMedlem sedan feb. 200470 inlägg
#1

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 &quot;Nästa 
	vecka&quot; 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 "&nbsp;||&nbsp;"
	Response.Write "<a href=?dtmDate=" & d & ">Nästa Vecka »</a></span>&nbsp;||&nbsp;"
%>
</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"))%>&nbsp;<%=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 "&nbsp;||&nbsp;"
	Response.Write "<a href=?dtmDate=" & d & ">Nästa Vecka »</a></span>&nbsp;||&nbsp;"
%>

</td>
</tr>
</table>
</body>
<% DB.Close %>
</html>
132 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)