Jobbig if sats
Hej tänkte rödmarkera det som är på min tv sida (http://www.tvtider.info/div.asp) om det programmet är just nu
Om vi har scenariot att värdena är som följer :
idag = 2005-11-06
datum = 2005-11-06
datum_slut = 2005-11-06
nu = 13:30
start = 13:15
slut = 14:15
Här kommer if satsen
if datum = idag and datum_slut = idag and start <= nu and slut > nu _
or datum = idag and start <= nu and datum_slut = DateAdd("d", 1, idag) _
or datum_slut = idag and slut > nu and datum = DateAdd("d", -1, idag) then
div_program = "rod"
end if
Borde den inte sätta variabeln div_program till röd
Har gjort precis samma sak i min sql fråga till just nu funktionen och där funkar det.
Tack på förhand /Jonas
Svara
Sv: Jobbig if sats
Om datumet alltid är i svenskt format kan du göra såhär:
if datum_slut & slut >= idag & nu AND idag & nu >= datum & start then
div_program = "rod"
end if
/Johan
Svara
Sv:Jobbig if sats
Tack för svar Johan
Men nu blev allting rött istället.
Kanske skall förklara lite mer om variablarna så kanske det är lättare att hjälp till.
idag = dagens datum
datum = datumet då programmet börjar
datum_slut = datumet då programmet slutar
nu = vad klockan är nu i tt:mm format
start = då programmet börjar
slut = då programmet slutar
Och jag vill ta reda på om programmet från databasen visas och då skall div_program bli "rod"
Hoppas ni förstår
M.V.H. Jonas
EDIT : Såg nu att det funkar på vissa kanaler gå in på sidan och se hur det ser ut nu.
Svara
Sv: Jobbig if sats
Dela inte upp datum och tid. Använd möjlighet att ange tidpunkt:
datum = 2005-11-06 0:00
datum_slut = 2005-11-07 0:00
nu = 2005-11-06 13:30
start = 2005-11-06 13:15
slut = 2005-11-06 14:15
Svara
Sv:Jobbig if sats
Blir det lättare på det sättet??
Fick det att funka nu jag hade missat att sätta tillbaka färgen till svart
Tack för hjälpen båda två
Svara
Sv: Jobbig if sats
En if-sats skulle i så fall se ut så här:
1 2 3 4 5 6 7 8 9 10 | 'nu = Now() nu = CDate ( "2005-11-06 13:30" ) start = CDate ( "2005-11-06 13:15" ) slut = CDate ( "2005-11-06 14:15" ) If start <= nu And slut > nu then div_program = "rod" end if |
Dessutom slipper du problem med sena program som sträcker sig över midnatt.
SQL frågan för att hämta ut program hade sett ut något sånt här:
1 2 3 4 5 6 7 | PeriodStart = CDate ( "2005-11-06" ) PeriodEnd = DateAdd( "d" , 1, PeriodStart) strSQL = "SELECT TVPrograms.*" & vbCrLf & _ "FROM TVPrograms" & vbCrLf & _ "WHERE TVPrograms.ProgramStart <= #" & PeriodEnd & "# AND TVPrograms.ProgramEnd >= #" & PeriodEnd & "#" & vbCrLf & _ "ORDER BY TVPrograms.Start" |
Svara
Sv:Jobbig if sats
Jo det ser ju onekligen enklare ut
får se om jag lägger in det istället blir så mycket ändringar men det kanske lönar sej i längden om man skall göra uppdateringar mm.
Tack så mycket Andreas
Svara
Sv: Jobbig if sats
Testade att göra samma if sats med ditt förslag och det blev mycket enklare tack så mycket andreas.
Funderar på att göra om allt iaf :)
Svara