webForumDet fria alternativet

Sortera efter vecka.

2 svar · 254 visningar · startad av Inferis

InferisMedlem sedan sep. 2000670 inlägg
#1

Jag försöker få mitt script att sortera efter vilken vecka som vald queystring är.
Det funkar med denna veckan, men sen kom jag inte vidare. Vet inte hur man listar ut startdatum för vald vecka.

if request.querystring("vecka") = "" Then
dateNextMonday = date + (5 - weekday(date,2))
vecka = dateNextMonday-5
else
vecka = request.querystring("vecka")-5
end if
sql = "SELECT * FROM Matsedel WHERE datum BETWEEN #" & dateNextMonday & "# AND #"& vecka & "#  order by Datum"
SBMedlem sedan maj 2000194 inlägg
#2

Här är en funktion som reda på datumet för önskad veckodag i önskat veckonummer. Funktionen som tar emot tre argument varav det sista är ordningsnumret för veckodagen:

Function WeekNrToDate(varWeekNr, varYear, varDayNr)
    varWeekNrThisYear = DatePart("ww", CDate(varYear & "-01-01"), 2, 2)
If varWeekNrThisYear = 1 Then
    varDayAdd = 0 - (DatePart("w", CDate(varYear & "-01-01"), 2, 2) - 1)
Else
    varDayAdd = 8 - DatePart("w", CDate(varYear & "-01-01"), 2, 2)
End If
    varDayAdd = (7 * (varWeekNr - 1)) + varDayAdd + (varDayNr - 1)
WeekNrToDate = DateAdd("d", varDayAdd, CDate((varYear & "-01-01")))
End Function
InferisMedlem sedan sep. 2000670 inlägg
#3

Tack!
Löste det på detta sättet. Kanske inte snyggt, men det funkar.

if request.querystring("vecka") = "" Then
dateNextMonday = date + (5 - weekday(date,2))
vecka = dateNextMonday-5
else

weekno = request.querystring("vecka")
y = Year(now())
'y = 2004
firstday = y & "-01-01"
fweek = datepart("ww", firstday)
if fweek > 1 then
   startday = dateadd("d",8-weekday(firstday,vbmonday),firstday)
else
   startday = dateadd("d",-6-weekday(firstday,vbmonday),firstday)
end if
startday = dateadd("ww",weekno,startday)
endday = dateadd("d",6,startday)

dateNextMonday = startday

vecka = endday
end if
sql = "SELECT * FROM Matsedel WHERE datum BETWEEN #" & dateNextMonday & "# AND #"& vecka & "#  order by Datum"
Set RecSet_matsedel = Connect.Execute(sql)
133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)