Avatar billede svinget Praktikant
05. februar 2006 - 20:17 Der er 24 kommentarer og
1 løsning

Sortering af dato ud fra måned

Hej

Jeg gemmer dato'er med tilhørende forklaring i en access database, og lister dem med denne kode:

<%
strSQL = "Select * from kalender order by start"
set kalender = Conn.Execute(strSQL)
do while not kalender.eof
%>
<td width="75" class="menutext"><a href="calender_change.asp?id=<%=kalender("id")%>"><%=kalender("start")%></a> &nbsp;</td>
<td width="75" class="menutext"><%=kalender("slut")%>&nbsp;</td>
<td width="250" class="menutext"><%=kalender("beskrivelse")%>&nbsp;</td>

<%  kalender.MoveNext
loop
%>

Jeg kunne godt tænke mig at liste dem under måned i stil med dette:
Februar
20-01-2006 aftale 1
25-01-2006 aftale 2

Marts
15-03-2006 aftale 1

Der skal kun vises datoer fra dags dato og frem - Er det muligt?

/Kim
Avatar billede cpufan Juniormester
05. februar 2006 - 20:27 #1
nuv-md = ""
aftalenr = 0
do while not kalender.eof
if month(kalender("start")) <> nuv-md then
response.write "<tr><td colspan = ""3"">" & month(kalender("start")) &"</tr>"
nuv-md = month(kalender("start"))
aftalenr = 0
end if
aftalenr = aftalenr + 1
%>

<td width="75" class="menutext"><a href="calender_change.asp?id=<%=kalender("id")%>"><%=kalender("start")%></a> &nbsp;</td>
<td width="75" class="menutext"><%=kalender("slut") &"aftale nr:" & aftalenr%>&nbsp;</td>
<td width="250" class="menutext"><%=kalender("beskrivelse")%>&nbsp;</td>

<%  kalender.MoveNext
loop
Avatar billede saudoo Nybegynder
05. februar 2006 - 20:28 #2
DatePart("m", Date())

Du kan altid bare hente måneden og sortere med den. ;)
Avatar billede cpufan Juniormester
05. februar 2006 - 20:32 #3
argh lidt fejl i koden, ( den er utestet) rettelse her:


<%session.lcid = 1030 ' skal stå øverst i koden (på siden, for at lave dansk md)
nuv-md = ""
aftalenr = 0
do while not kalender.eof
if month(kalender("start")) <> nuv-md then
response.write "<tr><td colspan = ""3"">" & month(kalender("start")) &"</td></tr>"
nuv-md = month(kalender("start"))
aftalenr = 0
end if
aftalenr = aftalenr + 1
%>

<td width="75" class="menutext"><a href="calender_change.asp?id=<%=kalender("id")%>"><%=kalender("start")%></a> &nbsp;</td>
<td width="75" class="menutext"><%=kalender("slut") &" aftale nr:" & aftalenr%>&nbsp;</td>
<td width="250" class="menutext"><%=kalender("beskrivelse")%>&nbsp;</td>

<%  kalender.MoveNext
loop
Avatar billede cpufan Juniormester
05. februar 2006 - 20:34 #4
skøøønt "#¤#%%¤#

det hele skal afsluttes med:

%>
Avatar billede cpufan Juniormester
05. februar 2006 - 20:36 #5
Der skal kun vises datoer fra dags dato og frem - Er det muligt?

strSQL = "Select * from kalender where start >= #" &date()&" order by start"
Avatar billede cpufan Juniormester
05. februar 2006 - 20:36 #6
strSQL = "Select * from kalender where start >= #" &date()&"# order by start"



/det går fan'me godt............... not
Avatar billede svinget Praktikant
05. februar 2006 - 22:45 #7
Hej - den brokker sig :)
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'nuv'
Avatar billede cpufan Juniormester
05. februar 2006 - 23:08 #8
ændr nuv-md til nuvmd

der må nok ikke være - i variabler
Avatar billede svinget Praktikant
06. februar 2006 - 22:12 #9
Nu er fejlen væk, men der selekteres ikke data. Hvor skal jeg sætte select'en ind?

<%session.lcid = 1030 ' skal stå øverst i koden (på siden, for at lave dansk md)
nuvmd = ""
aftalenr = 0
do while not kalender.eof
if month(kalender("start")) <> nuvmd then
response.write "<tr><td colspan = ""3"">" & month(kalender("start")) &"</td></tr>"
nuvmd = month(kalender("start"))
aftalenr = 0
end if
aftalenr = aftalenr + 1
%>

       
<tr>
                  <td width="75" class="menutext"><a href="calender_change.asp?id=<%=kalender("id")%>"><%=kalender("start")%></a> &nbsp;</td>
<td width="75" class="menutext"><%=kalender("slut") &" aftale nr:" & aftalenr%>&nbsp;</td>
<td width="250" class="menutext"><%=kalender("beskrivelse")%>&nbsp;</td>

                </tr>
<%  kalender.MoveNext
loop
%>
Avatar billede cpufan Juniormester
06. februar 2006 - 22:33 #10
<%
session.lcid = 1030
strSQL = "Select * from kalender order by start"
set kalender = Conn.Execute(strSQL)
do while not kalender.eof
if month(kalender("start")) <> nuvmd then
response.write "<tr><td colspan = ""3"">" & month(kalender("start")) &"</td></tr>"
nuvmd = month(kalender("start"))
aftalenr = 0
end if
aftalenr = aftalenr + 1
%>

       
<tr>
                  <td width="75" class="menutext"><a href="calender_change.asp?id=<%=kalender("id")%>"><%=kalender("start")%></a> &nbsp;</td>
<td width="75" class="menutext"><%=kalender("slut") &" aftale nr:" & aftalenr%>&nbsp;</td>
<td width="250" class="menutext"><%=kalender("beskrivelse")%>&nbsp;</td>

                </tr>
<%  kalender.MoveNext
loop
set kalender = nothing
'close conn
%>
Avatar billede svinget Praktikant
07. februar 2006 - 16:33 #11
Hey - nu virker det næsten. Nu skrives der 2 for februar og 4 for marts, så jeg ville høre hvordan jeg ændrer det til tekst?
Avatar billede saudoo Nybegynder
07. februar 2006 - 16:55 #12
Svinget Du kan bruge en select Case. ;)

Select Case maaned
    Case "1":maanednavn = "Januar"
    Case "2":maanednavn = "Februar"
    Case "3":maanednavn = "Marts"
    Case "4":maanednavn = "April"
    Case "5":maanednavn = "Maj"
    Case "6":maanednavn = "Juni"
    Case "7":maanednavn = "Juli"
    Case "8":maanednavn = "August"
    Case "9":maanednavn = "September"
    Case "10":maanednavn = "Oktober"
    Case "11":maanednavn = "November"
    Case "12":maanednavn = "December"
End Select
Avatar billede cpufan Juniormester
07. februar 2006 - 17:23 #13
istedet for month skal du bruge monthname
Avatar billede cpufan Juniormester
07. februar 2006 - 17:26 #14
denne

response.write "<tr><td colspan = ""3"">" & month(kalender("start")) &"</td></tr>"

skal ændres til

response.write "<tr><td colspan = ""3"">" & monthname(month(kalender("start"))) &"</td></tr>"
Avatar billede svinget Praktikant
07. februar 2006 - 20:25 #15
Jeg kan ikke rigtig styre fonten på måneden, måske fordi jeg benytter stylesheet. hvordan kan jeg styre den?

saudoo: tak for dit indspark, men cpufan havde den bedste løsning.
Avatar billede cpufan Juniormester
07. februar 2006 - 20:29 #16
det er så denne linie der skal ha' noget style på:

response.write "<tr><td colspan = ""3"">" & monthname(month(kalender("start"))) &"</td></tr>"


f.eks.

response.write "<tr><td colspan = ""3"" class=""menutext"">" & monthname(month(kalender("start"))) &"</td></tr>"
Avatar billede svinget Praktikant
07. februar 2006 - 20:41 #17
Det kan den ikke lide:
Microsoft VBScript compilation error '800a0401'

Expected end of statement
Avatar billede cpufan Juniormester
07. februar 2006 - 20:44 #18
ups sorry

response.write "<tr><td colspan = ""3"" class=""menutext"">" & monthname(month(kalender("start"))) &"</td></tr>"

sårn
Avatar billede cpufan Juniormester
07. februar 2006 - 20:45 #19
argh. duer ikke denne

response.write "<tr><td colspan = ""3"" class=""menutext"">" & monthname(month(kalender("start"))) &"</td></tr>"
Avatar billede cpufan Juniormester
07. februar 2006 - 20:45 #20
hvad helvede den sletter mine "
Avatar billede cpufan Juniormester
07. februar 2006 - 20:46 #21
der skal være to 2 " efter ""3

tdcolspan = ""3""
Avatar billede svinget Praktikant
07. februar 2006 - 20:52 #22
hey hvor det bare virker - du er en haj. Mange tak for hjælpen :
Avatar billede cpufan Juniormester
07. februar 2006 - 20:57 #23
np - ;)
Avatar billede svinget Praktikant
09. februar 2006 - 15:00 #24
Hov - lige et ekstra spørgsmål hvis du har tid. Denne select viser kun den sidste aftale der ligger i databasen:
strSQL = "Select * from kalender where opstart >= #" &date()&"# order by opstart"
Avatar billede cpufan Juniormester
09. februar 2006 - 17:16 #25
nej den tager alle der har en "størrere" dato end i dag...

så er det din løkke der skal kigges i...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester