09. december 2002 - 18:41Der er
16 kommentarer og 1 løsning
Hvis xx = xx eller i mellem x og y
Har dette: For y = 1 to 6 If blnLast <> True Then Response.Write "<tr>" For x = 1 to 7 intLoopDay = intLoopDay + 1 If intLoopDay >= intFirstDay Then dtmCurDate = DateAdd("d", intLoopDay-intFirstDay, dtmFirstDate) If Month(dtmCurDate) = Month(dtmFirstDate) Then Set rs=oConn.Execute("Select * from kalender where fra_dag="&day(dtmCurDate)&" " & " and fra_mdr="&month(dtmCurDate)&" " & "and fra_aar ="&intYear ) If dtmCurDate = dtmToday Then If Not rs.EoF Then Response.Write "<td align=center><a class='sort_tekst' href=default.asp?side=kalender&subside=info&dato="&dtmCurDate&">" & Day(dtmCurDate) & "</a></td>" Else Response.Write "<td align=center><a class='bla1_tekst' href=default.asp?side=kalender&subside=info&dato="&dtmCurDate&"><b>" & Day(dtmCurDate) & "</b></a></td>" End If Else If Not rs.EoF Then Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.Mappath("../inc/db/spejder.mdb") Conn.Open DSN strSQL = "Select * From kalender where fra_dag = " & Day(dtmCurDate) & " and fra_mdr = " & Month(dtmCurDate) & " and fra_aar = " & Year(dtmCurDate) Set rs_info = Conn.Execute(strSQL) Response.Write "<td align=center><a class='bla_tekst' href='default.asp?side=kalender&subside=info&dato="&dtmCurDate&"' title='" Do until rs_info.eof or rs_info.bof response.write rs_info("titel") & " " rs_info.MoveNext Loop Set rs_info = Nothing response.write "'><b>" & Day(dtmCurDate) & "</b></a></td>"
Det er en kalender, som udskriver alle dage i en måned, men fremhæver de dage der er et arrangement. Jeg har lavet det sådan så når man holder musen over dagen, viser de arrangementer der sker. Men et arrangement kan godt holdes over flere dage, f.eks. fra. 24-12-2002 - 26-12-2002, på den måde jeg har det nu, vil det kun være den 24-12 der vil blive fremhævet, men jeg kunne godt tænkte mig at den 25. og 26. også blev markeret... Men hvordan?
Har følgende felter fra_dag = den dag arrangementet starter fra_mdr = den måned arrangementet starter fra_aar = det år arrangementet starter
til_dag = den dag arrangementet slutter til_mdr = den måned arrangementet slutter til_aar = det år arrangementet slutter
Ok og det er som 3 kolonner.. Der kan blive sævrt at test på alle muligheder eks hvis et evet er fra 30-11 -> 02-12 så er det ikke bare at bare at lave en >= på dagen så skal man også tjekke på at mådede er størrer. Og helt svært bliver det hvis man tager 31-12-2002 -> 01-01-2003 så skal den tjekke på alle kolonnerne..
strSQL = "Select * From kalender where (fra_dag = " & Day(dtmCurDate) & " and fra_mdr = " & Month(dtmCurDate) & " and fra_aar = " & Year(dtmCurDate)) OR ((fra_dag < " & Day(dtmCurDate) & " and fra_mdr = " & Month(dtmCurDate) & " and fra_aar = " & Year(dtmCurDate)) AND (til_dag >= " & Day(dtmCurDate) & " and til_mdr = " & Month(dtmCurDate) & " and til_aar = " & Year(dtmCurDate))
Prøv med denne den skulle kunne vise et evten fra eksvis den 24-26 i samme månede.
Undskyld... Det har jeg glemt og oplyse... Jeg har også følgende felter: fra og til De inholder en "almindelig" dato for henholdsvis start og slut.. Altså en komplet dato på f.eks. 31-12-2002
Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80040E07) [Microsoft][ODBC Microsoft Access-driver] Ugyldig anvendelse af null /kalender_vaelg.asp, line 80
Jo det tror jeg bare ikke er nok ..men jeg er ikke helt sikker...
Eller så prøv at tilføgje et tjek på om til er null sådan her:
SELECT kalender.[fra] FROM kalender WHERE CDate(fra) = #12-10-2002# OR (CDate(fra) <= #12-10-2002# AND til is not null and CDate(til) >= #12-10-2002#);
strSQL = "SELECT * FROM kalender WHERE CDate(fra) = #" & dato2 & "# OR (CDate(fra) <= #" & dato2 & "# AND til is not null and CDate(til) >= #" & dato2 & "#);"
hov det var kun den nederste der skulle med det gik vist lidt for hurtigt inden maden :)
strSQL = "SELECT * FROM kalender WHERE CDate(fra) = #" & dato2 & "# OR (CDate(fra) <= #" & dato2 & "# AND til is not null and CDate(til) >= #" & dato2 & "#);"
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.