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 datumet alltid är i svenskt format kan du göra såhär: Tack för svar Johan Dela inte upp datum och tid. Använd möjlighet att ange tidpunkt: Blir det lättare på det sättet?? En if-sats skulle i så fall se ut så här: Jo det ser ju onekligen enklare ut Testade att göra samma if sats med ditt förslag och det blev mycket enklare tack så mycket andreas.Jobbig if sats
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 /JonasSv: Jobbig if sats
if datum_slut & slut >= idag & nu AND idag & nu >= datum & start then
div_program = "rod"
end if
/JohanSv:Jobbig if sats
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.Sv: Jobbig if sats
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:15Sv:Jobbig if sats
Fick det att funka nu jag hade missat att sätta tillbaka färgen till svart
Tack för hjälpen båda tvåSv: Jobbig if sats
'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:
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"
Sv:Jobbig if sats
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 AndreasSv: Jobbig if sats
Funderar på att göra om allt iaf :)