19. september 2007 - 22:16Der er
9 kommentarer og 1 løsning
Tjek om post er inden for datointerval
Har dette udtræk, som skal tjekke om en given post er inden for et dato interval og er posten det, skal den markeres med en anden farve på listen. Mit problem er bare at blot der er en post, der matcher i tabellen "projekter_medarbejdere" bliver den markert, selvom det måske ikke er inden for dato intervallet. Det skal kort og godt være sådan at hvis der findes en post i projekter_medarbejdere hvor ref_projekt <> rs_id("id") og ref_medarb = rs("id") - samt dato_fra og dato_til falder inden for de datoer der er angivet i projekter_medarbejdere (dato_fra og dato_til) - Så skal linjen markes med rød og ellers så bare stå med sort
dato_fra = year(rs_id("dato_fra")) & "-" & month(rs_id("dato_fra")) & "-" & day(rs_id("dato_fra")) dato_til = year(rs_id("dato_til")) & "-" & month(rs_id("dato_til")) & "-" & day(rs_id("dato_til")) Set rs_medkon = Server.CreateObject("ADODB.Recordset") strSQL = "SELECT * FROM projekter_medarbejdere WHERE CDate(dato_fra) >= #" & dato_fra & "# and ref_medarb = " & rs("id") & " and ref_projekt <> " & rs_id("id") & " or CDate(dato_til) <= #" & dato_til & "# and ref_medarb = " & rs("id") & " and ref_projekt <> " & rs_id("id") & " ;" 'strSQL = "SELECT * FROM projekter_medarbejdere WHERE dato_fra >= " & rs_id("dato_fra") & " and ref_medarb = " & rs("id") & " and ref_projekt <> " & rs_id("id") & " or dato_til <= " & rs_id("dato_til") & " and ref_medarb = " & rs("id") & " and ref_projekt <> " & rs_id("id") & " ;"
Set rs_medkon = Conn.Execute(strSQL) if rs_medkon.eof or rs_medkon.bof then response.write rs("navn") & "<br>" else do until rs_medkon.eof or rs_medkon.bof color = "#FF0000" response.write "<font color=""" & color & """ title=""" Set rs_pro = Server.CreateObject("ADODB.Recordset") sql = "SELECT * FROM projekter where id = " & rs_medkon("ref_projekt") rs_pro.open sql, conn, 1, 3 response.write rs_pro("overskrift") & " (" & rs_medkon("dato_fra") & " - " & rs_medkon("dato_til") & ")" rs_pro.Close Set rs_pro = Nothing response.write """>" & rs("navn") & "</font><br>" rs_medkon.movenext loop end if Set rs_medkon = Nothing
Set rs_medkon = Conn.Execute(strSQL) if rs_medkon.eof or rs_medkon.bof then response.write rs("navn") & "<br>" else do until rs_medkon.eof or rs_medkon.bof color = "#FF0000" response.write "<font color=""" & color & """ title=""" Set rs_pro = Server.CreateObject("ADODB.Recordset") sql = "SELECT * FROM projekter where id = " & rs_medkon("ref_projekt") rs_pro.open sql, conn, 1, 3 response.write rs_pro("overskrift") & " (" & rs_medkon("dato_fra") & " - " & rs_medkon("dato_til") & ")" rs_pro.Close Set rs_pro = Nothing response.write """>" & rs("navn") & "</font><br>" rs_medkon.movenext loop end if Set rs_medkon = Nothing
Laver jeg et der hedder den 17-19 (endnu et) bliver det fint nok farvet 18-19 bliver det ikke farvet 19-20 heller ikke farvet 14-17 heller ikke farvet 17-19 bliver det fint farvet
Håber du kan finde lidt system i det. Alle dem jeg har listet her burde alle være farvet
Det sidste forslag gør at den nogle gange skriver navne dobbelt, Men jeg har testet det første lidt nærmere, og det eneste sted det ikke virker, er hvis start og slut dato er den samme
Fx hvis jeg laver et projekt der hedder den 20-22 og efterfølgende laver et der hedder den 21-21 så skulle den gerne ha været rød... men nej er den desværre ikke. Altså når jeg har projekter kun på en dag går det galt... Det sjove er så at tilføjer jeg bare mere end et navn til listen, altså min 2 så virker den fint, men ikke hvis der kun er et navn
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.