Avatar billede rickie Juniormester
13. oktober 2004 - 09:22 Der er 11 kommentarer og
1 løsning

If, else problem

Hej alle eksperter !-)

Jeg har nedenstående kode som henter frem træningstider fra databasen.
Jeg vil at resultatet kun skal vise et resultat og være opdelt på følgende måde:

1. Træning <  dags dato (Ingen träning bokad!)
2. Træning =  Intet i databasen (Ingen träning bokad!)
3. Træning => dags dato (Viser næstkommende træning, aflyst eller ikke 'trainingCancelled')

Jeg har lavet nedenstående men den viser det ikke helt korrekt men kan ikke finde fejlen.
Er der ellers en anden nemmere måde, at lave det på?
-----
<%Set RecSet = Conn.Execute("Select * From Training")%>

<table width="160" border="0" cellspacing="2" cellpadding="2" class="BorderGra">
<tr>
    <td widht="160" bgcolor="<%=Request.Cookies("bgcolor")%>" class="DivSpacing"><font class="FontColorWhite"><b>Träning</b></font></td>
</tr>

<%If RecSet.EOF then%>
<tr>
    <td width="160"><div class="DivTopSpacing">Ingen träning bokad!</div></td>
</tr>

<%Else
If RecSet("TrainingDate") < date() then%>
<tr>
    <td width="160"><div class="DivTopSpacing">Ingen träning bokad!</div></td>
</tr>


<%Else
If RecSet("TrainingDate") >= date() AND RecSet("TrainingCancelled") = "Ja" then%>
<tr>
    <td width="160"><div class="DivTopSpacing"><%=RecSet("TrainingDate")%>, kl. <%=FormatDateTime(RecSet("TrainingTime"),4)%><br><%=RecSet("TrainingLocation")%><br><br><font class="FontColorRed"><b>Träningen inställd!</b></div></td>
</tr>

<%Else
If RecSet("TrainingDate") >= date() AND RecSet("TrainingCancelled") = "Nej" then%>
<tr>
    <td width="160"><div class="DivTopSpacing"><%=RecSet("TrainingDate")%>, kl. <%=FormatDateTime(RecSet("TrainingTime"),4)%><br><%=RecSet("TrainingLocation")%></div></td>
</tr>

<%End if%>
<%End if%>
<%End if%>
<%End if%>

</table>
Avatar billede mortency Nybegynder
13. oktober 2004 - 09:30 #1
Du må gjøre så datoene vises helt likt. Er dato formatene like? dvs date() og RecSet("TrainingDate")
Avatar billede mortency Nybegynder
13. oktober 2004 - 09:34 #2
strTrainingDate = RecSet("TrainingDate")

strDay = Day( strTrainingDate )
if len(strDay) = 1 then
    strDay = "0" & strDay
end if
           
strMonth = Month( strTrainingDate )
if len(strMonth) = 1 then
    strMonth = "0" & strMonth
end if
       
strYear = Year( strTrainingDate )
if len(strYear) = 1 then
    strYear = "0" & strYear
end if

TrainingDate = strDay & "." & strMonth & "." & strYear

Date() >= TrainingDate

Osv.....
Avatar billede mortency Nybegynder
13. oktober 2004 - 09:37 #3
Kanskje også:
Date() >= CDate(RecSet("TrainingDate"))
Avatar billede rickie Juniormester
13. oktober 2004 - 10:41 #4
Dato vises allerede helt likt.
<%=RecSet("TrainingDate")%> = 2004-10-12
<%=Date()%> = 2004-10-12

Hvis du går ind på www.duper.dk/pff så ser du hvad jeg mener.
Jeg har bookede træningstider henholdsvis den 12.10.2004, den 26.10.2004 og den 12.11.2004.

Den skal vise næskommende træningsdato og om den er aflyst eller ikke.
Havde det været træning d.d. så skulle den vise den hele dagen og imorgen den næstkommende træningsdato.
Avatar billede mortency Nybegynder
13. oktober 2004 - 11:04 #5
<%Set RecSet = Conn.Execute("Select * From Training")%>
<table width="160" border="0" cellspacing="2" cellpadding="2" class="BorderGra">
<tr>
    <td widht="160" bgcolor="<%=Request.Cookies("bgcolor")%>" class="DivSpacing"><font class="FontColorWhite"><b>Träning</b></font></td>
</tr>
<%If RecSet.EOF then%>
    <tr>
        <td width="160"><div class="DivTopSpacing">Ingen träning bokad!</div></td>
    </tr>
<%ElseIf date() < CDate(RecSet("TrainingDate")) then%>
    <tr>
        <td width="160"><div class="DivTopSpacing">Ingen träning bokad!</div></td>
    </tr>
<%ElseIf date() >= CDate(RecSet("TrainingDate")) AND RecSet("TrainingCancelled") = "Ja" then%>
    <tr>
        <td width="160"><div class="DivTopSpacing"><%=RecSet("TrainingDate")%>, kl. <%=FormatDateTime(RecSet("TrainingTime"),4)%><br><%=RecSet("TrainingLocation")%><br><br><font class="FontColorRed"><b>Träningen inställd!</b></div></td>
    </tr>
<%ElseIf date() >= CDate(RecSet("TrainingDate")) AND RecSet("TrainingCancelled") = "Nej" then%>
<tr>
    <td width="160"><div class="DivTopSpacing"><%=RecSet("TrainingDate")%>, kl. <%=FormatDateTime(RecSet("TrainingTime"),4)%><br><%=RecSet("TrainingLocation")%></div></td>
</tr>
<%End if%>
</table>
Avatar billede rickie Juniormester
13. oktober 2004 - 11:40 #6
Nu bliver det helt tomt?

Jeg har bookede træningstider henholdsvis den 12.10.2004, den 26.10.2004 og den 12.11.2004.
Dem som er passerede "< date()" skal ikke vises men den næstkommende skal.
Avatar billede mortency Nybegynder
13. oktober 2004 - 12:34 #7
Nu da?

<%Set RecSet = Conn.Execute("Select * From Training")%>
<table width="160" border="0" cellspacing="2" cellpadding="2" class="BorderGra">
<tr>
    <td widht="160" bgcolor="<%=Request.Cookies("bgcolor")%>" class="DivSpacing"><font class="FontColorWhite"><b>Träning</b></font></td>
</tr>
<%If RecSet.EOF then%>
    <tr>
        <td width="160"><div class="DivTopSpacing">Ingen träning bokad!</div></td>
    </tr>
<%ElseIf CDate(RecSet("TrainingDate")) < date() then%>
    <tr>
        <td width="160"><div class="DivTopSpacing">Ingen träning bokad!</div></td>
    </tr>
<%ElseIf CDate(RecSet("TrainingDate")) >= date() AND RecSet("TrainingCancelled") = "Ja" then%>
    <tr>
        <td width="160"><div class="DivTopSpacing"><%=RecSet("TrainingDate")%>, kl. <%=FormatDateTime(RecSet("TrainingTime"),4)%><br><%=RecSet("TrainingLocation")%><br><br><font class="FontColorRed"><b>Träningen inställd!</b></div></td>
    </tr>
<%ElseIf CDate(RecSet("TrainingDate")) >= date() AND RecSet("TrainingCancelled") = "Nej" then%>
<tr>
    <td width="160"><div class="DivTopSpacing"><%=RecSet("TrainingDate")%>, kl. <%=FormatDateTime(RecSet("TrainingTime"),4)%><br><%=RecSet("TrainingLocation")%></div></td>
</tr>
<%End if%>
</table>
Avatar billede rickie Juniormester
13. oktober 2004 - 13:10 #8
Det er stadig samme problem...?
Avatar billede mortency Nybegynder
13. oktober 2004 - 13:50 #9
Da er ikke dato formatet likt. Skriv ut begge og sjekk dem! sjekk også =< statmentet ditt.
Avatar billede rickie Juniormester
13. oktober 2004 - 14:26 #10
Jeg fik det til at virke. Datoerne var korrekte men det var andet som var forkert.
Avatar billede mortency Nybegynder
13. oktober 2004 - 14:33 #11
Hva?
Avatar billede rickie Juniormester
14. oktober 2004 - 09:20 #12
<%Set RecSet = Conn.Execute("Select * From Training")%>
Skal være:
<%Set RecSet = Conn.Execute("Select * From Training where TrainingDate >= date()")%>

Resten af det du havde lavet var bare perfekt !-)
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