Avatar billede willi Nybegynder
18. marts 2005 - 12:39 Der er 8 kommentarer og
1 løsning

Problem med If rs ugeDag Weekday Now Then

Koden ser sådan ud. Men den køre kun Else

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/data/bildTest.mdb")
Conn.Open DSN
%>
<html>
    <head>
        <title>»» Bildgalleri ««</title>
        <META NAME=""ROBOTS"" CONTENT=""NOINDEX, NOFOLLOW"">
        <link rel="stylesheet" href="stil.css" type="text/css">
    </head>
        <body bgcolor="#f0f0f0" >
            <%
            strSQL= " Select * From bildArkiv "
            Set rs = Conn.Execute(strSQL)
            If rs("ugeDag")=(Weekday(Now)) Then
            Response.Write RS("ugedag")
                Response.Write("<img src='" & rs("filNavn") & "'>")
                Response.Write rs("bildTekst")
            Else
                Response.write ("ØV")
        End If
            Conn.Close
            Set Conn = Nothing
            %>
        </body>
</html>

I db er dagene nummerede 1-7 men viser ikke de tilknyttede billeder. Hvad er problemet
Avatar billede sjap Praktikant
18. marts 2005 - 18:06 #1
Ved ikke om det har nogen betydning, men jeg mener at funktionen Now normalt skal kaldes med parenteser - dvs.

Weekday(Now())
Avatar billede willi Nybegynder
18. marts 2005 - 21:34 #2
Nej. Det hjalp ikke
Avatar billede sjap Praktikant
18. marts 2005 - 22:02 #3
Jeg har ikke noget forstand på al det der asp noget (eller hvad det nu hedder), så jeg kigger blot lidt på det, der ligner noget jeg kender, og det er ret begrænset.

Så vidt jeg lige kan se, så kigger du på ALLE data i tabellen "bildArkiv". Skal der ikke en yderligere filtrering til? I virkeligheden kigger du kun på en enkelt post. Jeg mener umiddelbart ikke det er nødvendigt, men det skader vel ikke at prøve med en

rs.movefirst

inden if-sætningen, så ved du i hvert tilfælde, at det er den første post i datasættet du kigger på.
Avatar billede sjap Praktikant
18. marts 2005 - 22:11 #4
For at undersøge hvorfor det går galt kan du jo ændre lidt i else-delen af din if-sætning:

Response.write (rs("ugeDag") & " " & Weekday(Now))

Så kan du se værdien af de to tal, du sammenligner.
Avatar billede willi Nybegynder
18. marts 2005 - 23:19 #5
yeps. Eller nej. Det går jo ikke at lede efter en ugedag. Det bliver den første der vælges og jeg kunne så sidde til på mandag ;)
Der skal et loop ind for at finde dagen hvor ugeDag er det samme som weekday(now).
Men ved du forresten om der findes noget tilsvarende "yearDay(now)"
Sender du et svar. Det førte mig til problemet Response.write (rs("ugeDag") & " " & Weekday(Now))
Avatar billede sjap Praktikant
18. marts 2005 - 23:25 #6
Jeg er ikke helt sikker på, hvad du mener med yearday(now), men hvis det dagens nummer (eller antal dage siden nytår), så kan du bruge:

DatePart('y';Now())
Avatar billede willi Nybegynder
18. marts 2005 - 23:44 #7
Er der ikke et problem med ' hvis den skal anvendes i en Response.Write?
Men under alle omstændigheder tak for hjælpen og jeg slutter for diag.
Avatar billede sjap Praktikant
18. marts 2005 - 23:46 #8
I Access virker det fint. Skulle det være et problem, kan du jo altid ændre det til "
Avatar billede willi Nybegynder
19. marts 2005 - 13:02 #9
Det hjalp ikke. Men med <%Response.write dateDiff("y","31-12-2004",(now))%> virker det.
Jeg ved ikke rigtig om der er nogen "faldgrupper". Men det der blot sker, er vel, at der fortælles at det drejer sig om
dataDiff("beregn som år","fra dato", (til dagsdato))
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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