Avatar billede lllund Nybegynder
14. februar 2005 - 17:02 Der er 5 kommentarer og
1 løsning

Skifte farve hvis der er ligger en post på dato

Jeg har en database, som indeholder informationer om hvilke kurser folk har meldt sig til.
Ud fra den database vil jeg gerne kunne skifte farve på en dato, hvis der er nogen meldt til på den dag.

Jeg har prøvet at lave en sql-sætning:
strCount = "SELECT * from tilmeldte_kursus where dato = #" & dtCurViewMonth & "#"

Men jeg tvivler på at den er rigtig, da den ik lader til at indeholde noget.   
dtCurViewMonth skulle være lig den pågældende dato.

Inde i den løkke der skriver dagene ud har jeg lavet denne if-sætning for at få den til at skifte farve:

do until rsCount.eof
if rsCount = dtCurViewDay Then sBGCOLOR = "#FF0000" Else sBGCOLOR ="#FFFFFF"

loop


Help me please.....:)
Avatar billede eagleeye Praktikant
14. februar 2005 - 17:07 #1
Hvis du bruger den SQL sætning du har vist henter den kun poster som er lig med dtCurViewMonth og så giver if sætningen ikke meget mening da datoen jo er lig med dtCurViewMonth.

Hvis du derimod heter alle poster så kan du bruger if sætningen til at sammenlinge datoen og skifte farve:
strCount = "SELECT * from tilmeldte_kursus"


do until rsCount.eof
if Cdate(rsCount("dato")) = Cdate(dtCurViewDay) Then
  sBGCOLOR = "#FF0000"
Else
  sBGCOLOR = "#FFFFFF"
End If

loop
Avatar billede lllund Nybegynder
14. februar 2005 - 18:19 #2
jeg har prøvet at implementere dit forslag, men det gør bare at siden går ned...jeg tror  den går i uendelig løkke el. lign. Det er ik pga. størrelse på db'en da der pt kun ligger 7 poster i den.  Dog ligger den løkke med if-sætning du har forslået inde i en anden løkke:
For iDay = 0 To 6
Avatar billede lllund Nybegynder
14. februar 2005 - 18:20 #3
hov.....glemte lige at den også ligger inde i løkken
For iWeek = 0 To 5
Avatar billede lllund Nybegynder
14. februar 2005 - 20:01 #4
det var vist mig der var lidt for hurtig ude...(havde glemt en movenext)
Men selv når jeg implementere det kode virker det ikke.

Her er noget af kode der bruges til siden, dog kun det der indeholder de løkker til at tegne kalenderen:

    <%
          dtCurViewDay = DtPrevSunday(dtCurViewMonth)
 
 
          For iWeek = 0 To 5
          Response.Write "<TR VALIGN=TOP>" & vbCrLf

Dim sBGCOLOR
sBGCOLOR = "#99ccff"
sFontColor = "#FFFFFF"

    For iDay = 0 To 6

sBGCOLOR = "#003399"

If Month(dtCurViewDay) = Month(dtCurViewMonth) Then
If dtCurViewDay = dtToday Then sBGCOLOR = "#99ccff"
else
sBGCOLOR = "#003399"

End If


Response.Write "<TD HEIGHT=50 bgcolor='" & sBGCOLOR & "' >"
       
'response.write dtCurViewDay   
  If Month(dtCurViewDay) = Month(dtCurViewMonth) Then
        If dtCurViewDay = dtToday Then
              sFontColor = "#000000"

            Else
              sFontColor = "#FFFFFF"
            End If

        '---- Write day of month
            Response.Write "<FONT FACE=""Arial"" SIZE=""-2"" color='"&sfontcolor&"'>"
            Response.Write "<a href=view_day.asp?" & "view_date=" & day(dtCurViewday) & "-" & monthname(month(dtCurViewday)) & "-"&Year(dtCurViewMonth)&" style=""text-decoration: none"">"  & Day(dtCurViewDay) & "</B><font color='"&sfontcolor&"'><br>" & formatStr(dictDte(Day(dtCurViewDay)- 1, 1)) & "</a></FONT><BR>"
        '---Else
            '---Response.Write " "
        End If

        Response.Write "&nbsp</TD>" & vbCrLf
        dtCurViewDay = DateAdd("d", 1, dtCurViewDay)


do until rsCount.eof
if Cdate(rsCount("dato")) = Cdate(dtCurViewDay) Then
  sBGCOLOR = "#FF0000"
Else
  sBGCOLOR = "#FFFFFF"
End If
rsCount.movenext
loop

      Next
      Response.Write "</TR>" & vbCrLf
  Next
Avatar billede lllund Nybegynder
14. februar 2005 - 21:43 #5
eagleeye > drop et svar
Avatar billede eagleeye Praktikant
14. februar 2005 - 22:40 #6
Ok :)
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