Har varit uppe förut, men detta förbryllar mig en aning.
Jag vill ta ut veckonumret med hjälp av ett datum i formatet 2003-03-07. Använder just nu, där variabeln thisDate innehåller t.ex 2003-01-07
datepart("ww", thisDate,2)
Resultatet blir ju att 2003-01-01 blir vecka 0 (då det borde vara 1) och 2003-12-29 kan den alls med, då slutar scriptet helt att funger och inte ens ett felmeddelande kommer upp?
'## Hämta datumet som sökts och konvertera till dom variabler som behövs för att genomföra sökningen
thisDate = cdate(request.form("byDate"))
yearNo = left(cdate(thisDate),4)
weekNo = datepart("ww", cdate(thisDate),2)
Response.Write weekNo
'## Loopa årets alla månader och kolla vilken vecka som hör med vilken från databasen
y = 0 '## årets veckor
xy= 0 '## databasens veckor
do until y = 52
y = y +1
xy = xy +1
if y = weekNo Then thisWeeksMenu = xy-1
if xy > 3 then xy =1
'Response.Write xy &", "& y &"<br>"
loop
'response.write thisWeeksMenu
'## hämta datum aktuell vecka
firstDate = cdate(getDateFromWeek(yearNo,weekNo))
lastDate = firstDate + 6
'## skall vi loopa ut hela veckan?
weekAll = request.form("weekAll")
'## loopa genom alla datum i veckan, men skriv bara ut det gällande
'## hämta aktuell vecka från databasen
sql1 = "select * from meny where menVecka = "& thisWeeksMenu &" "
'response.write sql1
set RSget = Conn.Execute(sql1)
Jag vet inte om jag är helt med på vad du menar, men jag gör ett litet försök med operatorn mod. Prova detta:
'## Loopa årets alla månader och kolla vilken vecka som hör med vilken från databasen
for y = 1 to 52
thisWeeksMenu = y mod 3
'Response.Write xy &", "& y &"<br>"
next
istället för
'## Loopa årets alla månader och kolla vilken vecka som hör med vilken från databasen
y = 0 '## årets veckor
xy= 0 '## databasens veckor
do until y = 52
y = y +1
xy = xy +1
if y = weekNo Then thisWeeksMenu = xy-1
if xy > 3 then xy =1
'Response.Write xy &", "& y &"<br>"
loop
Men, som sagt, lite klurigt, eftersom jag inte helt förstår vad du menar.
r:/ Response.write-satsen i loopen får du gåra något med också. ;)
Jag har ett tre-veckors (rullande) schema som ligger i en databas. Varje vecka (i databasen) har ett veckonummer 1,2 eller 3. Varje vecka har sju poster. Ingen av posterna (dagarna) är märkta med datum. Jag vill rulla detta schema över kalenderårets alla veckor. Inga bekymmer så långt.
Men, om jag nu vill titta vad som händer den 21:a maj till exempel så måste jag "manuellt" räkna framåt i veckorna som ligger i databasen eftersom dom inte är märkta med datum. Klurigt tycker jag, kanse borde det inte vara det...?
:r Jag är väldigt dålig på att uttrycka/förklara i ord vad jag menar, men jag skickar en länk med PM till dig @nders så kan du titta på ett exempel på hur det fungerar i praktiken.