Avatar billede jesperwerge Nybegynder
18. januar 2004 - 16:20 Der er 9 kommentarer og
1 løsning

Visning af data opdelt efter Måneder & vis fra aktuelle måned

Hej

Jeg er igang med at lave en Aktivitets kalender som skal vise alle aktivitete fra en database, visningen skal der en header som hedder Januar og derunder data fra januar og så februar og alt data her under, også videre.....

Jeg kan hente alt data frem uden problemer ,men vil så gerne have indarbejdet at den deler dataen op pr. måned, er der nogen som har en ide til hvordan det kan gøres?

Jeg har felterne :
AutoID,dato(08-01-2004),Aktiviteter, sted, deltagere,Ansvarlig, Gruppe, Type

Jeg har lagt et eksempel på hvad jeg har nu, på http://www.werges.dk/at/vis.asp

Næste step er at den viser den måned man er i lige nu så man kun ser fremad og ikke ser de forgængene måneder lige med det samme???
Avatar billede eagleeye Praktikant
18. januar 2004 - 16:26 #1
Du kan lave en ORDER BY dato når du trækker ud:

sql = "select * from tabelnavn order by dato"


Hvis du vil se denne måned og frem kan det være i stil med dette:

sql = "select * from tabelnavn where month(dato)>=month(Date()) AND year(dato)>=year(Date()) order by dato"
Avatar billede jesperwerge Nybegynder
18. januar 2004 - 16:30 #2
ok - men så skal man lave 12 forskellige select statements ikke- er det korrekt forstået?
Avatar billede jesperwerge Nybegynder
18. januar 2004 - 16:32 #3
Al data som er måneden nu og frem skal st nedefter hinanden, men med en adskillelse af
JANUAR
data
FEBRUAR
data
Marts
Data
osv
Avatar billede eagleeye Praktikant
18. januar 2004 - 16:34 #4
Det ikke nødvendig du kan skrive det ud sådan her:

sql = "select * from tabelnavn order by dato"
Set rs = Conn.Execute(SQL)
tmp=""
do while not rs.EOF
  if tmp <> month(rs("dato")) then
    tmp = month(rs("dato")
    Response.Write MonthName(tmp) & "<br>"
  end if
  response.Write rs("Aktiviteter") & "<br>"
  rs.Movenext
loop
Avatar billede jesperwerge Nybegynder
18. januar 2004 - 16:47 #5
eagleeye -> jeg tror jeg mangler at ændre noget så det virker , jeg får heletiden fejl, jeg har hele siden her, med dit script i koden:

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%" id="table1">
    <tr>
        <td bgcolor="#0066CC"><font face="Verdana">Dato</font></td>
        <td bgcolor="#0066CC"><font face="Verdana">Aktivitet</font></td>
        <td bgcolor="#0066CC"><font face="Verdana">Sted</font></td>
        <td bgcolor="#0066CC"><font face="Verdana">Deltagere</font></td>
        <td bgcolor="#0066CC"><font face="Verdana">Ansvarlig</font></td>
        <td bgcolor="#0066CC"><font face="Verdana">Gruppe</font></td>
        <td bgcolor="#0066CC"><font face="Verdana">type</font></td>
    </tr>
<%
Set oDB = Server.CreateObject("ADODB.connection")
  oDB.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/Akt.mdb")
    Set oRS = oDB.execute("SELECT * FROM [Aktiviteter] ORDER BY Dato ")

    'sql = "SELECT * FROM Aktiviteter ORDER BY Dato"
    'Set 0RS = Conn.Execute(SQL)
    tmp=""
    do while not rs.EOF
      if tmp <> month(ors("dato")) then
        tmp = month(ors("dato")
        Response.Write MonthName(tmp) & "<br>"
      end if
      response.Write ors("Aktiviteter") & "<br>"
      rs.Movenext
    loop
        'do while not oRS.EOF
%>

    <tr>
        <td><font face="Verdana"><%= oRS("Dato") %></font></td>
        <td><font face="Verdana"><%= oRS("Aktivitet") %></font></td>
        <td><font face="Verdana"><%= oRS("Sted") %></font></td>
        <td><font face="Verdana"><%= oRS("Deltagere") %></font></td>
        <td><font face="Verdana"><%= oRS("Ansvarlig") %></font></td>
<%
'Set oDB = Server.CreateObject("ADODB.connection")
  'oDB.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/Akt.mdb")
    Set oRR = oDB.execute("SELECT * FROM [Grupper] ")
    %>
    <td><font face="Verdana">
        <% IF oRS("Gruppe") = 1 Then response.write "Billeddiagnostik" %>
        <% if oRS("Gruppe") = 2 Then response.write "Dental" %>
        <% if oRS("Gruppe") = 3 Then response.write "Kirurgi" %>
        <% if oRS("Gruppe") = 4 Then response.write "Urologi" %></font>
    </td>
<%
'Set oDB = Server.CreateObject("ADODB.connection")
'oDB.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/Akt.mdb")
    Set oRR = oDB.execute("SELECT * FROM [Typerne] ")
%>
    <td><font face="Verdana">
        <% IF oRS("Type") = 1 Then response.write "Aktivitet" %>
        <% if oRS("Type") = 2 Then response.write "Udsendelse" %></font>

    </td>
</tr>
    <%
      oRS.Movenext
      Loop
      oDB.Close
      set oRS = Nothing
    %>
<tr>
    <td colspan="7">
    <hr noshade style="border-left-style: dashed; border-left-width: 3px; border-right-style: dashed; border-right-width: 1px; border-top-style: dashed; border-top-width: 1px" color="#0066CC" size="1">
    </td>
</tr>
</table>
Avatar billede eagleeye Praktikant
18. januar 2004 - 16:57 #6
Prøv at lave dette:

Set oDB = Server.CreateObject("ADODB.connection")
  oDB.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/Akt.mdb")
    Set oRS = oDB.execute("SELECT * FROM [Aktiviteter] ORDER BY Dato ")

    'sql = "SELECT * FROM Aktiviteter ORDER BY Dato"
    'Set 0RS = Conn.Execute(SQL)
    tmp=""
    do while not rs.EOF
      if tmp <> month(ors("dato")) then
        tmp = month(ors("dato")
        Response.Write MonthName(tmp) & "<br>"
      end if
      response.Write ors("Aktiviteter") & "<br>"
      rs.Movenext
    loop
        'do while not oRS.EOF


om til dette:


Set oDB = Server.CreateObject("ADODB.connection")
  oDB.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/Akt.mdb")
    Set oRS = oDB.execute("SELECT * FROM [Aktiviteter] ORDER BY Dato ")

    'sql = "SELECT * FROM Aktiviteter ORDER BY Dato"
    'Set 0RS = Conn.Execute(SQL)
    tmp=""
    do while not oRS.EOF
      if tmp <> month(oRS("dato")) then
        tmp = month(oRS("dato")
        Response.Write "<tr><td colspan=""7"">" & MonthName(tmp) & "</td>/tr>"
      end if
        'do while not oRS.EOF
Avatar billede jesperwerge Nybegynder
18. januar 2004 - 17:05 #7
Du er jo genial - tusind tak det virker kanon :o)

lige et hurtigt spørgsmål, kan denne også vise fremad og ikke tilbage eller viser denne alle måneder som er tastet ind?
Avatar billede jesperwerge Nybegynder
18. januar 2004 - 17:08 #8
og husk lige at give et svar så får du points
Avatar billede eagleeye Praktikant
18. januar 2004 - 17:08 #9
Den viser alle måneder som er i databasen.

Hvis du vil havde fra denne måned og frem så kan du prøve den anden SQL jeg viste, som bruger dato-funktioner i databasen til at udfælde posterne i denne måend og frem:

SQL = "select * from Aktiviteter where month(dato)>=month(Date()) AND year(dato)>=year(Date()) order by dato"
Avatar billede jesperwerge Nybegynder
18. januar 2004 - 17:12 #10
tak for hjælpen
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