Hej!
Jag håller på och pysslar lite här hemma vid burken och har stött på vissa problem. Det beror på att jag i min databas har olika händelser, påminnelser eller vad vi nu ska kalla de sparade under olika datum. Då ligger Dag med som "dd" månad som "mm" och år som "yyyy". Sedan vill jag då presentera en tabell med varje veckodag. dvs. Jag har alltså en tabell där det står;
---MÅNDAG---TISDAG---osv
Sedan skall man kunna klicka på måndag förutsatt att det finns någon händelse inlagd på måndag, men problemet ligger i att jag måste ha den aktuella måndagens datum utskrivet så att ja har en variabel som motsvarar "dd" en som motsvarar "mm" och en som motsvarar "yyyy".
Därför behövs en funktion som skriver ut alla datum i den aktuella veckan och sedan bryter ner de till dessa variabler. Hoppas ni förstår.
Tack på Förhand//
Ingen som förstår? Vad jag menar är att jag vill ha den aktuella veckans alla datum (v.37) som sedan automatiskt uppdateras. Det vill säga den här veckan vill jag att funktionen ger; 6/9, 7/9 osv. tills 12/9. Sen vill jag bryta sönder så jag får dagens datum för sig, månaden för sig. Sedan skall då den aktuella dagens datum i formen ("DAG")-("MÅNAD")-("ÅR") jämföras med databasen för att se vad som finns att visa just den här dagen.
Hmmm....har nu hårdkollat detta och fattat det som att jag kan be databasen söka efter "startday+6" som skall visa första dagen iveckan och de sex kommande.
Då kommer vi till det nya problemet.
Strängen startday ser ut såhär
Vilket ger ett felaktigt reultat, istället för att visa första dagen i veckans datum, så ger den dagens datum. Sessutom kommer inte den här funktionen att fungera över månadsskiften.
Well, funktionen returnerar det du ber om, dvs vilken dag det är idag. Istället för date får du skicka in datumet som tillhör veckans första dag (måndag normalt). Istället för firstdayofweek (har du skapat den variabeln, och vad innehåller den?) så ska du slänga in vbMonday för att säga att i Sverige börjar våra veckor på måndagar. I den sista parametern kan du skicka in konstanten vbFirstFourDays istället. Vad betyder 2?
Hmmm...nej, jag har inte gjort den. Sökte på första dagen i veckan. Det är ju ganska dumt om jag ska sitta och plita in dagens datum, det är ju det som skriptet är till för.
Att ta fram aktuell vecka och första dagens datum.
Jo, fast det var där mina problem med datepart började och jag fattade noll. Nu är jag ganska förvirrad. Men om du kunde komma med ett konkret förslag på hur jag lyckas få ut aktuella veckans datum med dag och månad för sig. År är ointressant. Alttihop som en funktion, så att jag senare kan åropa denna funktion, elr datumen då. Kan du fixa det här @nders så är jag dig evigt tacksam. Hoppas att jag skall fatta det här andra sen också men just nu ser jag bara stjärnor. :(
<%
'Här kommer LarsGs kod!
weekno = 37
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)
' jag har inte riktigt förstått vad du vill göra, så här kommer en loop.
for tempday = startday to endday
intDay = DatePart("d", tempday, vbMonday, vbFirstFourDays)
intMonth = DatePart("m", tempday, vbMonday, vbFirstFourDays)
intYear = DatePart("yyyy", tempday, vbMonday, vbFirstFourDays)
response.write intyear & "-" & intmonth & "-" & intday & "<br>"
' gör vad som nu ska göras
next
%>
@nders... Efter hård tankeverksamhet har jag nu tänkt ut en idé som bör funka, och hur jag skall förklara den ;).
Den koden som jag fick av dig är strålande. Nu vill jag gå vidare och få ut en funktion som jag kan åberopa på olika ställen i koden. Funktionen skall ge tre värden för varje dag i veckan.
T.ex.
<%=MonDate%> Blir datumet i måndags (13 denna veckan)
<%=MonMonth%> Blir månaden (9 i detta fallet)
<%=MonYear%> Blir året (2004 nu)
Sedan skall jag kunna åberopa dett även för tisdag, onsdag osv. Datumet skall vara för den aktuella veckan. Vet inte om detta går att lösa? Är nog det enda sättet som funkar med min databsformatering. Tack på förhand