|  | 		    
					
        
         
          
         
	
          | |  | Jeg opgiver -  dato Fra : Ukendt
 | 
 Dato :  09-05-04 20:34
 | 
 |  | 
 Har lidt problemer med hentning af begivenheder fra min database.
 Problemet er ganske simpelt at dag og måned bliver byttet om. Problemet
 er jeg ikk har kunnet finde løsningen på det. Har prøvet at bytte om på
 Intthismonth og intprintday i dToday, som løser nogle problemer, men
 skaber nye. Det der forvirrer mig er at det hele virker fint så snart
 datoen overstiger 12, som nok har noget at gøre med der bliver byttet om
 på dato og måned.
www.frip.dk/cssite Jeg har følgende kode i en aspfil:
 dToday = CDate(intthismonth & "/" & intprintday & "/" & intthisyear)
        If NOT Rs.EOF Then
         ' Set events flag to false. This means the day has no event in it
         bEvents = False
          Do While NOT Rs.EOF AND bEvents = False
          ' If the date falls within the range of dates in the recordset,
 then
          ' the day has an event. Make the events flag True
            If dToday >= Rs("Start_Date") AND dToday <= Rs("End_Date")
 Then
           ' Print the date in a highlighted font
         ' If the Start date is greater than the date itself, there is no
 point
          If Session("Admin") = 0 Then
           Write_TD "<A HREF=optaget.asp?date="& Server.URLEncode(dToday)
 & " CLASS='EVENT' TARGET='rightframe'> " & intPrintDay & "</A>", "HL"
           bEvents = True
          Else
                Write_TD "<A HREF=events.asp?date="&
 Server.URLEncode(dToday) & " CLASS='EVENT' TARGET='rightframe'> " &
 intPrintDay & "</A>", "HL"
           bEvents = True
          End if
 og følgende kode i events.asp:
 <% Session.LCID = 1030 %>
 <%
  If IsEmpty(Request.QueryString("Date")) OR NOT
 IsDate(Request.QueryString("Date")) Then
   dDate = Date
  Else
   dDate = CDate(Request.QueryString("Date"))
  End if
 %>
 <%
   ' Open a record set of schedules
  Response.Write FormatDateTime(dDate, 1) & vbCrLf
   Set Rs = Server.CreateObject("ADODB.RecordSet")
  sSQL =  "SELECT * FROM tEvents " & _
      "WHERE Start_Date <= #" & dDate & "# AND End_Date >= #" & dDate & "#
 ORDER BY Event_ID "
   Rs.Open sSQL, sDSN, adOpenStatic, adLockReadOnly, adCmdText
  If NOT Rs.EOF Then
   arrColor =Array("#000000", "#CC9966", "#336600", "#003366", "#FFCC66",
 "#0000FF", "#FF0000")
   iIndex = 0
   Do While NOT Rs.EOF
 -- 
 Med venlig hilsen
 CS
 cs at sleepy dot dk
            
             |  |  | 
  Jens Gyldenkærne Cla~ (09-05-2004) 
 
	
          | |  | Kommentar Fra : Jens Gyldenkærne Cla~
 | 
 Dato :  09-05-04 21:05
 | 
 |  | 
 
            CS skrev:
 > Problemet er ganske simpelt at dag og måned bliver byttet om.
 Datohåndtering i asp kan være drilsk. Problemet er at det
 amerikanske datoformat (mm/dd/yy) og det europæiske datoformat
 (dd/mm/yy) let kan forveksles.
 I første omgang skal man sikre sig at asp-parseren anvender det
 danske datoformat. Det kan gøres med følgende kommando:
 Session.LCID = 1030
 (Se mere på siden her: <http://asp-faq.dk/article/?id=47>) Men det sikreste mht. datoer er at arbejde med datoværdier i stedet
 for tekstrepræsentationer af datoer.
 > dToday = CDate(intthismonth & "/" & intprintday & "/" &
 > intthisyear)
 Ovenstående linje er afhængig af asp-parserens datoformat. Hvis man
 i stedet benytter funktionen DateSerial, kan det skrives som
 følger:
 dToday = DateSerial(intthisyear, intthismonth, intprintday)
 I modsætning til CDate kan ovenstående funktionskald kun fortolkes
 på én måde.
 Hvis man skal hente data fra Access-databaser, kan - og bør - man
 benytte Access' indbyggede DateSerial-funktion for at undgå bøvl
 med forkerte datoformater.
 Teknikken er vist her: <http://asp-faq.dk/article/?id=98>. -- 
 Jens Gyldenkærne Clausen
 Svar venligst under det du citerer, og citer kun det der er
 nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
 hvordan på http://usenet.dk/netikette/citatteknik.html |  |  | 
  Ukendt (09-05-2004) 
 
	
          | |  | Kommentar Fra : Ukendt
 | 
 Dato :  09-05-04 22:05
 | 
 |  | 
 "Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
 news:Xns94E4E09CF26B4jcdmfdk@gyrosmod.cybercity.dk...
 > CS skrev:
 >
 > > Problemet er ganske simpelt at dag og måned bliver byttet om.
 >
 > Datohåndtering i asp kan være drilsk. Problemet er at det
 > amerikanske datoformat (mm/dd/yy) og det europæiske datoformat
 > (dd/mm/yy) let kan forveksles.
 Ja det er jeg helt med på
 > I første omgang skal man sikre sig at asp-parseren anvender det
 > danske datoformat. Det kan gøres med følgende kommando:
 >
 > Session.LCID = 1030
 Jep det har jeg sikret mig
 >
 > Men det sikreste mht. datoer er at arbejde med datoværdier i stedet
 > for tekstrepræsentationer af datoer.
 >
 > > dToday = CDate(intthismonth & "/" & intprintday & "/" &
 > > intthisyear)
 >
 > Ovenstående linje er afhængig af asp-parserens datoformat. Hvis man
 > i stedet benytter funktionen DateSerial, kan det skrives som
 > følger:
 >
 > dToday = DateSerial(intthisyear, intthismonth, intprintday)
 Arh havde jeg haft indsat - dog byttet om på month og day, så virkede
 ikke. Men nu bliver datoerne godt nok markeret som de skal
 > I modsætning til CDate kan ovenstående funktionskald kun fortolkes
 > på én måde.
 Jep okay
 > Hvis man skal hente data fra Access-databaser, kan - og bør - man
 > benytte Access' indbyggede DateSerial-funktion for at undgå bøvl
 > med forkerte datoformater.
 > Teknikken er vist her: <http://asp-faq.dk/article/?id=98>. Har faktisk læst den artikel uden større held. Kan du give et hint om
 hvordan jeg får klaret det i mit tilfælde?
 -- 
 Med venlig hilsen
 CS
 cs at sleepy dot dk
 > -- 
 > Jens Gyldenkærne Clausen
 > Svar venligst under det du citerer, og citer kun det der er
 > nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
 > hvordan på http://usenet.dk/netikette/citatteknik.html |  |  | 
  Jens Gyldenkærne Cla~ (10-05-2004) 
 
	
          | |  | Kommentar Fra : Jens Gyldenkærne Cla~
 | 
 Dato :  10-05-04 09:47
 | 
 |  | 
 
            CS skrev:
 > Har faktisk læst den artikel uden større held. Kan du give et
 > hint om hvordan jeg får klaret det i mit tilfælde?
 Der er to muligheder. Enten overfører du dag, måned og år separat
 eller også adskiller du dem i formhandleren.
 Metode 1:
 Dim dag, maaned, aar
 dag = Request.QueryString("dag")
 maaned = Request.QueryString("maaned")
 aar = Request.QueryString("aar")
 ' Valider de tre variable og tjek at det er gyldige værdier
 ' - skriv selv kode...
 sql = "INSERT INTO tabel (datofelt) VALUES (DateSerial(" & _
        aar & ", " & maaned & ", " & dag & ")"
 Metode 2:
 Dim dag, maaned, aar, fulddato, dPartArray
 fulddato = Request.Querystring("dato")
 ' Det antages (kræves) at formfeltet dato er udfyldt i formatet
 ' "d(d)-m(m)-yyyy" (fx 4-12-2004)
 dPartArray = Split(fulddato, "-")
 ' Validering - tjek at der er tre elementer i arrayet
 ' - skriv selv kode...
 dag = dPartArray(0)
 maaned = dPartArray(1)
 aar = dPartArray(2)
 sql = "INSERT INTO tabel (datofelt) VALUES (DateSerial(" & _
        aar & ", " & maaned & ", " & dag & ")"
 -- 
 Jens Gyldenkærne Clausen
 Svar venligst under det du citerer, og citer kun det der er
 nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
 hvordan på http://usenet.dk/netikette/citatteknik.html |  |  | 
   Ukendt (10-05-2004) 
 
	
          | |  | Kommentar Fra : Ukendt
 | 
 Dato :  10-05-04 16:57
 | 
 |  | 
 > Der er to muligheder. Enten overfører du dag, måned og år separat
 > eller også adskiller du dem i formhandleren.
 >
 > Snip metoder
 Det hjælper mig dog desværre ikke ret meget i forhold til min kode:
 <% Session.LCID = 1030 %>
 <%
  If IsEmpty(Request.QueryString("Date")) OR NOT
 IsDate(Request.QueryString("Date")) Then
   dDate = Date
  Else
   dDate = Cdate(Request.QueryString("Date"))
  End if
 %>
 <HTML>
 <HEAD>
 </HEAD>
 <BODY>
 <%
 ' Open a record set of schedules
  Response.Write "<FONT COLOR='Gray' FACE='Tahoma, Verdana' SIZE=2>" &
 FormatDateTime(dDate, 1) & "</FONT><BR><BR>" & vbCrLf
   Set Rs = Server.CreateObject("ADODB.RecordSet")
  sSQL =  "SELECT * FROM tEvents " & _
      "WHERE (Start_Date) <= #" & dDate & "# AND End_Date >= #" & dDate &
 "# ORDER BY Event_ID "
 QueryString("Date") giver en dato i formattet DD-MM-YYYY, som start_date
 og end_date også er gemt som i databasen. Er faret fuldstændig vild i det
 her    -- 
 Med venlig hilsen
 CS
 cs at sleepy dot dk
            
             |  |  | 
  Jens Gyldenkærne Cla~ (10-05-2004) 
 
	
          | |  | Kommentar Fra : Jens Gyldenkærne Cla~
 | 
 Dato :  10-05-04 19:59
 | 
 |  | 
 
            CS skrev:
 > QueryString("Date") giver en dato i formattet DD-MM-YYYY,
 Fint - så brug split-metoden (metode 2 i forrige indlæg) til at
 hive de tre datodele ud herfra.
 > som start_date og end_date også er gemt som i databasen.
 Farlig antagelse! Start_date og end_date er (forudsat at felttypen
 er et datofelt) gemt som dato*værdier* i databasen. Det kan godt
 være at databasens standardmåde at præsentere dem på også er
 DD-MM-YYYY, men det er og bliver kun en præsentation - og du kan
 ikke være sikker på at de datoer som databasen modtager i en sql-
 sætning behandles på samme måde.
 -- 
 Jens Gyldenkærne Clausen
 Svar venligst under det du citerer, og citer kun det der er
 nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
 hvordan på http://usenet.dk/netikette/citatteknik.html |  |  | 
   Ukendt (11-05-2004) 
 
	
          | |  | Kommentar Fra : Ukendt
 | 
 Dato :  11-05-04 17:53
 | 
 |  | 
 "Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
 news:Xns94E5D55FAEBB1jcdmfdk@gyrosmod.cybercity.dk...
 > CS skrev:
 >
 > > QueryString("Date") giver en dato i formattet DD-MM-YYYY,
 >
 > Fint - så brug split-metoden (metode 2 i forrige indlæg) til at
 > hive de tre datodele ud herfra.
 
 Heh ja havde jeg bestemt også tænkt mig, men får fejlen:
 
 Tegnet ')' var ventet
 /Kamathcalender/events.asp, line 18, column 20
 dDate = (" & aar & ", " & maaned & ", " & dag & ")"
 
 min kode:
 
 If IsEmpty(Request.QueryString("Date")) OR NOT
 IsDate(Request.QueryString("Date")) Then
 dDate = Date
 Else
 
 Dim dag, maaned, aar, fulddato, dPartArray
 
 fulddato = Request.Querystring("date")
 dPartArrayt = Split(fulddato, "-")
 
 dag = dPartArray(0)
 maaned = dPartArray(1)
 aar = dPartArray(2)
 
 dDate = (" & aar & ", " & maaned & ", " & dag & ")"
 
 Sikkert mig som ikke fatter en meter :'(
 
 > Farlig antagelse! Start_date og end_date er (forudsat at felttypen
 > er et datofelt) gemt som dato*værdier* i databasen. Det kan godt
 > være at databasens standardmåde at præsentere dem på også er
 > DD-MM-YYYY, men det er og bliver kun en præsentation - og du kan
 > ikke være sikker på at de datoer som databasen modtager i en sql-
 > sætning behandles på samme måde.
 
 Hmm... ja okay, men et problem af gangen!
 
 
 --
 Med venlig hilsen
 CS
 
 cs at sleepy dot dk
 
 
 
 |  |  | 
  Jens Gyldenkærne Cla~ (11-05-2004) 
 
	
          | |  | Kommentar Fra : Jens Gyldenkærne Cla~
 | 
 Dato :  11-05-04 19:47
 | 
 |  | 
 
            CS skrev:
 > dag = dPartArray(0)
 > maaned = dPartArray(1)
 > aar = dPartArray(2)
 >
 > dDate = (" & aar & ", " & maaned & ", " & dag & ")"
 Hvad skal du bruge variablen dDate til?
 Prøv at kigge på gennemgangen af metode 2 igen. Hele tricket er at
 du sender dag, maaned og aar til databasen som adskilte talværdier.
 Linjen med dDate skal altså helt væk, og der hvor du kalder bruger
 datoen i din sql skal der stå "DateSerial(aar, maaned, dag)" - og
 DateSerial skal stå inde i selve sql-sætningen (hvis du udskriver
 sql-sætningen skal der stadig stå DateSerial i den).
 >> Farlig antagelse! Start_date og end_date er (forudsat at
 >> felttypen er et datofelt) gemt som dato*værdier* i databasen.
 > Hmm... ja okay, men et problem af gangen!
 Jo, men det er jo samme problemstilling.
 -- 
 Jens Gyldenkærne Clausen
 Svar venligst under det du citerer, og citer kun det der er
 nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
 hvordan på http://usenet.dk/netikette/citatteknik.html |  |  | 
   Ukendt (11-05-2004) 
 
	
          | |  | Kommentar Fra : Ukendt
 | 
 Dato :  11-05-04 19:58
 | 
 |  | 
 "Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
 news:Xns94E6D36CDAC8jcdmfdk@gyrosmod.cybercity.dk...
 > CS skrev:
 >
 > > dag = dPartArray(0)
 > > maaned = dPartArray(1)
 > > aar = dPartArray(2)
 > >
 > > dDate = (" & aar & ", " & maaned & ", " & dag & ")"
 >
 > Hvad skal du bruge variablen dDate til?
 >
 > Prøv at kigge på gennemgangen af metode 2 igen. Hele tricket er at
 > du sender dag, maaned og aar til databasen som adskilte talværdier.
 Øhh nu er jeg forvirret. Jeg skal ikke hente den fra en database, men fra
 en .QueryString eller hvad sådan en hedder
 <% Session.LCID = 1030 %>
 <%
  If IsEmpty(Request.QueryString("Date")) OR NOT
 IsDate(Request.QueryString("Date")) Then
   dDate = Date
  Else
   dDate = Cdate(Request.QueryString("Date"))
  End if
 %>
 > Linjen med dDate skal altså helt væk, og der hvor du kalder bruger
 > datoen i din sql skal der stå "DateSerial(aar, maaned, dag)" - og
 > DateSerial skal stå inde i selve sql-sætningen (hvis du udskriver
 > sql-sætningen skal der stadig stå DateSerial i den).
 >
 > >> Farlig antagelse! Start_date og end_date er (forudsat at
 > >> felttypen er et datofelt) gemt som dato*værdier* i databasen.
 >
 > > Hmm... ja okay, men et problem af gangen!
 >
 > Jo, men det er jo samme problemstilling.
 > -- 
 > Jens Gyldenkærne Clausen
 > Svar venligst under det du citerer, og citer kun det der er
 > nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
 > hvordan på http://usenet.dk/netikette/citatteknik.html |  |  | 
  Jens Gyldenkærne Cla~ (11-05-2004) 
 
	
          | |  | Kommentar Fra : Jens Gyldenkærne Cla~
 | 
 Dato :  11-05-04 20:43
 | 
 |  | 
 
            CS skrev:
 > Øhh nu er jeg forvirret. Jeg skal ikke hente den fra en
 > database, men fra en .QueryString eller hvad sådan en hedder
 Jep - og det gør du jo også, hvis koden fra et par indlæg siden
 står til troende:
 ' Hent en dato via querystring
        fulddato = Request.Querystring("date")
 ' Opdel den i tre dele (dag, måned, år)
        dPartArrayt = Split(fulddato, "-")
 ' Tildel en variael til hver af de tre dele
        dag = dPartArray(0)
        maaned = dPartArray(1)
        aar = dPartArray(2)
 Herfra går jeg ud fra at du skal bruge datoen til noget - enten at
 hente noget ud fra en database, eller også sætte datoværdien _ind_
 i databasen.
        dDate = (" & aar & ", " & maaned & ", " & dag & ")"
 Derfor forstår jeg ikke hvad du skal med linjen herover.
 -- 
 Jens Gyldenkærne Clausen
 Svar venligst under det du citerer, og citer kun det der er
 nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
 hvordan på http://usenet.dk/netikette/citatteknik.html |  |  | 
   Ukendt (11-05-2004) 
 
	
          | |  | Kommentar Fra : Ukendt
 | 
 Dato :  11-05-04 23:41
 | 
 |  | 
 "Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
 news:Xns94E6DCD7121B4jcdmfdk@gyrosmod.cybercity.dk...
 > CS skrev:
 >
 > > Øhh nu er jeg forvirret. Jeg skal ikke hente den fra en
 > > database, men fra en .QueryString eller hvad sådan en hedder
 >
 > Jep - og det gør du jo også, hvis koden fra et par indlæg siden
 > står til troende:
 >
 > ' Hent en dato via querystring
 >     fulddato = Request.Querystring("date")
 >
 > ' Opdel den i tre dele (dag, måned, år)
 >     dPartArrayt = Split(fulddato, "-")
 >
 > ' Tildel en variael til hver af de tre dele
 >     dag = dPartArray(0)
 >     maaned = dPartArray(1)
 >     aar = dPartArray(2)
 >
 Aarh har da vidst lige misforstået dig! Nå men har fået styr på datoerne
 tror jeg. Virker fint på min egen IIS nu. Men men men, når jeg smider den
 ud hos frip.dk som en ekstra test får jeg den her fejl
 Subscript out of range: '[number: 1]'
 events.asp, line 16
 fulddato = Request.Querystring("date")
 dPartArray = Split(fulddato, "-")
 dag = dPartArray(0)
 maaned = dPartArray(1)      <- linje 16
 aar = dPartArray(2)
 > Jens Gyldenkærne Clausen
 > Svar venligst under det du citerer, og citer kun det der er
 > nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
 > hvordan på http://usenet.dk/netikette/citatteknik.html |  |  | 
  Jens Gyldenkærne Cla~ (12-05-2004) 
 
	
          | |  | Kommentar Fra : Jens Gyldenkærne Cla~
 | 
 Dato :  12-05-04 09:21
 | 
 |  | 
 
            CS skrev:
 > Aarh har da vidst lige misforstået dig! Nå men har fået styr
 > på datoerne tror jeg. Virker fint på min egen IIS nu. Men men
 > men, når jeg smider den ud hos frip.dk som en ekstra test får
 > jeg den her fejl
 >
 > Subscript out of range: '[number: 1]'
 Hvad indeholder Request.Querystring("date") ?
 -- 
 Jens Gyldenkærne Clausen
 Svar venligst under det du citerer, og citer kun det der er
 nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
 hvordan på http://usenet.dk/netikette/citatteknik.html |  |  | 
   Ukendt (12-05-2004) 
 
	
          | |  | Kommentar Fra : Ukendt
 | 
 Dato :  12-05-04 13:14
 | 
 |  | 
 "Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
 news:Xns94E76951A907Djcdmfdk@gyrosmod.dtext.news.tele.dk...
 > CS skrev:
 >
 > > Aarh har da vidst lige misforstået dig! Nå men har fået styr
 > > på datoerne tror jeg. Virker fint på min egen IIS nu. Men men
 > > men, når jeg smider den ud hos frip.dk som en ekstra test får
 > > jeg den her fejl
 > >
 > > Subscript out of range: '[number: 1]'
 >
 > Hvad indeholder Request.Querystring("date") ?
 
 Ja det er da netop prob lemet kan jeg se! På min egen ISS indeholder den
 godt nok DD-MM-ÅR, mens den indeholder MM-DD-ÅÅ hos frip.dk
 
 A HREF=events.asp?date="& Server.URLEncode(dToday)  & " CLASS='EVENT'
 TARGET='rightframe'> " & intPrintDay & "
 
 dToday = DateSerial(intthisyear, intthismonth, intprintday)
 
 ' Check for valid year input
 If IsEmpty(Request("YEAR")) OR NOT IsNumeric(Request("YEAR")) Then
 datToday = Date()
 intThisYear = Year(datToday)
 Else
 intThisYear = CInt(Request("YEAR"))
 End If
 
 ' Check for valid month input
 If IsEmpty(Request("MONTH")) OR NOT IsNumeric(Request("MONTH")) Then
 datToday = Date()
 intThisMonth = Month(datToday)
 ElseIf CInt(Request("MONTH")) < 1 OR CInt(Request("MONTH")) > 12 Then
 datToday = Date()
 intThisMonth = Month(datToday)
 Else
 intThisMonth = CInt(Request("MONTH"))
 End If
 
 Intprintday = 1
 
 
 --
 Med venlig hilsen
 CS
 
 cs at sleepy dot dk
 
 
 
 |  |  | 
  Jens Gyldenkærne Cla~ (12-05-2004) 
 
	
          | |  | Kommentar Fra : Jens Gyldenkærne Cla~
 | 
 Dato :  12-05-04 17:07
 | 
 |  | 
 
            CS skrev:
 > A HREF=events.asp?date="& Server.URLEncode(dToday)
 Hvad ligger der i dToday? Hvis det er hvad jeg tror (dags dato), så
 går du over åen efter vand. Der er ingen grund til at bede en asp-
 siden udregne en datoværdi, urlencode den og overføre den i en
 querystring til en anden asp-side.
 Hold dig fra tekstrepræsentationer af datoer så længe som muligt.
 Jeg ved ikke hvad du vil have event.asp til at håndtere, men her er
 et par eksempler med tilhørende løsningsforslag.
 a) Events.asp skal altid tage et argument der svarer til dags dato.
 Løsning - drop querystring fuldstændig og brug en sql-sætning i
 events.asp der drager nytte af databasens datofunktioner. Fx:
 strSQL = "SELECT * FROM events WHERE dato > Now()"
 (bemærk placeringen af anførselstegn)
 b) Events.asp tager en parameter der er et helt antal dage i
 forhold til dags dato.
 Løsning - overfør antallet af dage som et heltal og lad databasen
 om at foretage konverteringen til datoværdier. Fx:
 intDage = Request.Querystring("dage")
 If isNumeric(intDage) Then
        strSQL = "SELECT * FROM events WHERE DateDiff('d', dato,
 Now()) = " & intDage
 Else
        ' Fejlmeddelelse...
 End If
 c) Events.asp skal kunne håndtere en vilkårlig dato.
 Løsning (forslag) - overfor dag, måned og år separat.
 Fx <a href="event.asp?aar=2004&maaned=12&dag=24">
 -- 
 Jens Gyldenkærne Clausen
 Svar venligst under det du citerer, og citer kun det der er
 nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
 hvordan på http://usenet.dk/netikette/citatteknik.html |  |  | 
   Ukendt (12-05-2004) 
 
	
          | |  | Kommentar Fra : Ukendt
 | 
 Dato :  12-05-04 21:22
 | 
 |  | 
 "Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
 news:Xns94E7B85A7AC96jcdmfdk@gyrosmod.dtext.news.tele.dk...
 > CS skrev:
 >
 > > A HREF=events.asp?date="& Server.URLEncode(dToday)
 >
 > Hvad ligger der i dToday?
 Der ligger den dag man nu engang har valgt at klikke på i min kalender,
 så ikke dags dato
 > Hold dig fra tekstrepræsentationer af datoer så længe som muligt.
 >
 >
 > Jeg ved ikke hvad du vil have event.asp til at håndtere, men her er
 > et par eksempler med tilhørende løsningsforslag.
 Event.aså skal visse aktiviteter fra kalenderen som den henter i en
 database, og her jeg skal bruge datoen for den dag man vælger
 >
 > b) Events.asp tager en parameter der er et helt antal dage i
 > forhold til dags dato.
 >
 > Løsning - overfør antallet af dage som et heltal og lad databasen
 > om at foretage konverteringen til datoværdier. Fx:
 >
 > intDage = Request.Querystring("dage")
 > If isNumeric(intDage) Then
 >     strSQL = "SELECT * FROM events WHERE DateDiff('d', dato,
 > Now()) = " & intDage
 > Else
 >     ' Fejlmeddelelse...
 > End If
 Måske mere elegant men har valgt løsningen nedenunder
 > c) Events.asp skal kunne håndtere en vilkårlig dato.
 >
 > Løsning (forslag) - overfor dag, måned og år separat.
 > Fx <a href="event.asp?aar=2004&maaned=12&dag=24">
 eventdag =
 "aar="&intthisyear&"&maaned="&intthismonth&"&dag="&intprintday&""
 Write_TD "<A HREF=events.asp?"& Server.URLEncode(eventdag) & "
 CLASS='EVENT' TARGET='rightframe'> " & intPrintDay & "</A>", "HL"
 Sådan i anledning af alt driller mig udskriver den igen værdier, men
 forsøger man at indtast urlen i browseren står de der godt. Lidt sært.
 Men er vidst på rette spor nu
 > -- 
 > Jens Gyldenkærne Clausen
 > Svar venligst under det du citerer, og citer kun det der er
 > nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
 > hvordan på http://usenet.dk/netikette/citatteknik.html |  |  | 
 |  |