Formatteringen var nu mest for at få dem sorteret på tværs af årstal...
Anyway! Jeg ville blot gennemløb rækkerne og teste på hvornår month(rs("dato")) skifter. Således:
arrMonthTexts = Array("JANUAR","FEBRUAR",....osv) curMonth = -1 do while not rs.eof if curMonth <> Month(rs("dato") then curMonth = Month(rs("dato")) ' generer en overskrift med månedsnavn her Response.Write(arrMonthText(curMonth) & " " & Year(rs("dato")) & " - " & rs("overskrift") & "<br>") end if
Husk nu at der helst skal være forskel på Juni 2005 og Juni 2006. Personligt ville jeg udtrække datoerne i dato-rækkefølge og så lave opdelingen i selve ASP scriptet.
Microsoft OLE DB Provider for ODBC Drivers error '80040e10' [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. /kalender.asp, line 5
koden:
<!--#include virtual="/cm-inc/inc_connection.asp"--> <% SQL = "select * from kalender ORDER BY Format(dato,""yyyy-mm-dd"")" set rs = conn.execute(SQL) if rs.eof then %> Der er i øjeblikket ikke nogle planlagte aktiviteter. <% rs.close set rs = nothing conn.close set conn = nothing else arrMonthTexts = Array("Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December") curMonth = -1 do while not rs.eof
if curMonth <> Month(rs("dato")) then curMonth = Month(rs("dato")) ' generer en overskrift med månedsnavn her Response.Write(arrMonthText(curMonth) & " " & Year(rs("dato")) & " - " & rs("overskrift") & "<br>") end if
Response.Write(rs("tekst") & "<br>") rs.movenext loop rs.close set rs = nothing conn.close set conn = nothing end if %>
curMonth = -1 sørger blot for at curMonth vil blive sat i første gennemløb, da måneden uanset dato i databasen (forudsat den ikke kan være null) altid vil være anderledes end -1.
Ang. fejlen: * er tabelnavnet stavet korrekt? * er der et felt som hedder dato?
Hvis ja til begge ovenstående så prøv at ændre dato til [dato].
Ja, du har ret: Month returnerer en værdi fra 1 til 12 og arrays er 0-baserede i VBScript, sorry. Jeg forstår bare ikke hvorfor en initialværdi på -1 skulle have nogen betydning for om det fungerer eller ej, jeg tror det har været det andet der gør udslaget.
Ang. SQL: det har du selv styr på :)
Er det den samme måned den skriver i hver linie, når du siger den skriver måned hver gang?
Tjaee, jeg hader simpelthen det med datoer, men jeg tror jeg har fået det til at virke med nedenstående, den skulle lige have en -1 mere:
<% SQL = "select * from kalender ORDER BY dato" set rs = conn.execute(SQL) if rs.eof then %> Der er i øjeblikket ikke nogle planlagte aktiviteter. <% rs.close set rs = nothing conn.close set conn = nothing else arrMonthText = Array("Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December")
do while not rs.eof if curMonth <> Month(rs("dato"))-1 then curMonth = Month(rs("dato")) -1 %> <H2><%=arrMonthText(curMonth)%> <%=Year(rs("dato"))%></H2><BR><BR> <% end if %> <B><%=rs("dato")%> - <%=rs("overskrift")%></B><BR> <%=replace(rs("tekst"), vbcrlf, "<BR>")%><BR><BR>
<% rs.movenext loop rs.close set rs = nothing conn.close set conn = nothing end if %>
Smid et svar softspot, så skal du få point for at lede mig på rette vej :o)
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.