Avatar billede Jman Praktikant
22. januar 2004 - 00:40 Der er 18 kommentarer og
1 løsning

Splittet dato sammenlignet med splittet dags dato virker ikke

<%
  TempDateSelect = dateCounter & "-" & navmonth & "-" & navyear
  TempCheckDate = date()
  TempCheckDate = split(TempCheckDate, "-")
  CheckDate = TempCheckDate(0)&"-"&TempCheckDate(1)&"-"&TempCheckDate(2)
  if CheckDate = TempDateSelect then
  bgcolor="#EFEFEF"
  else
  bgcolor="#FFFFFF"
  End if
%>

Det skulle ellers have givet dags dato en anden baggrundsfarve, men det gør den ikke... why ??
Avatar billede medions Nybegynder
22. januar 2004 - 00:44 #1
<%
  TempDateSelect = dateCounter & "-" & navmonth & "-" & navyear
  TempCheckDate = date()
  TempCheckDate = split(TempCheckDate, "-")
  CheckDate = TempCheckDate(0)&"-"&TempCheckDate(1)&"-"&TempCheckDate(2)
  if DateDiff("d",CheckDate, TempDateSelect) = 0 then
  bgcolor="#EFEFEF"
  else
  bgcolor="#FFFFFF"
  End if
%>

//>Rune
Avatar billede Jman Praktikant
22. januar 2004 - 01:00 #2
Jeg får en rigtig baggrundsfarve, men samtidig en fejl på "if DateDiff("d",CheckDate, TempDateSelect) = 0 then"

Microsoft VBScript runtime error '800a000d'
Type mismatch: 'TempDateSelect'

/kalender.asp, line 128
Avatar billede medions Nybegynder
22. januar 2004 - 01:03 #3
Skyder du det igennem en løkke eller hvad gør du?

//>Rune
Avatar billede Jman Praktikant
22. januar 2004 - 01:03 #4
yep
Avatar billede Jman Praktikant
22. januar 2004 - 01:11 #5
<% Do while dateCounter <= lastDate %>
        <tr>

<% Do while weekCount <= 7
    TempDateSelect = dateCounter & "-" & navmonth & "-" & navyear
    TempCheckDate = date()
    TempCheckDate = split(TempCheckDate, "-")
    CheckDate = TempCheckDate(0)&"-"&TempCheckDate(1)&"-"&TempCheckDate(2)
    if DateDiff("d",CheckDate, TempDateSelect) = 0 then
      bgcolor="#EFEFEF"
    else
      bgcolor="#FFFFFF"
    End if
%>

<% If dateCounter > lastDate Then %>
          <td></td>
<% else %>
          <td height="65" bgcolor="<%=bgcolor%>" valign="top" class="Headline"><%=dateCounter%></td>
<%
dateCounter = dateCounter + 1
end if
weekCount = weekCount + 1
Loop
weekCount = 1
%>
        </tr>
<% Loop %>
Avatar billede medions Nybegynder
22. januar 2004 - 01:29 #6
Så tjek lige om de data'er du sender gennem altid er af samme syntax, altså fx.

dd-mm-yyyy

//>Rune
Avatar billede Jman Praktikant
22. januar 2004 - 02:46 #7
Det er de!
Jeg har lavet en response.write på begge felter - og det viser begge samme format
Avatar billede Jman Praktikant
22. januar 2004 - 02:46 #8
Men hvis det kan betyde noget er TempDateSelect aldrig hevet ud, som dato format, men derimod bygget op ud fra formler
Avatar billede medions Nybegynder
22. januar 2004 - 08:09 #9
Jamen du kan jo prøve sådan her:

<% Do while dateCounter <= lastDate %>
        <tr>

<% Do while weekCount <= 7
    TempDateSelect = dateCounter & "-" & navmonth & "-" & navyear
    TempCheckDate = date()
    TempCheckDate = split(TempCheckDate, "-")
    CheckDate = TempCheckDate(0)&"-"&TempCheckDate(1)&"-"&TempCheckDate(2)
    if DateDiff("d",CheckDate, CDate(TempDateSelect)) = 0 then
      bgcolor="#EFEFEF"
    else
      bgcolor="#FFFFFF"
    End if
%>

<% If dateCounter > lastDate Then %>
          <td></td>
<% else %>
          <td height="65" bgcolor="<%=bgcolor%>" valign="top" class="Headline"><%=dateCounter%></td>
<%
dateCounter = dateCounter + 1
end if
weekCount = weekCount + 1
Loop
weekCount = 1
%>
        </tr>
<% Loop %>

//>Rune
Avatar billede eagleeye Praktikant
22. januar 2004 - 09:02 #10
Prøv med CDate omkring og formatere både Date og TempDateSelect:

<%
  TempDateSelect = dateCounter & "-" & navmonth & "-" & navyear
  if CDate(Date) = CDate(TempDateSelect) then
    bgcolor="#EFEFEF"
  else
    bgcolor="#FFFFFF"
  End if
%>



men DateDiff bør også virke sådan her:
<%
  TempDateSelect = dateCounter & "-" & navmonth & "-" & navyear
  if DateDiff("d",Date,TempDateSelect) = 0 then
    bgcolor="#EFEFEF"
  else
    bgcolor="#FFFFFF"
  End if
%>
Avatar billede Jman Praktikant
22. januar 2004 - 15:10 #11
hmm - den meder stadig fejlen
Avatar billede Jman Praktikant
22. januar 2004 - 15:13 #12
hvis jeg kommentere if/then sætningen ud, får jeg ingen fejl:
'if DateDiff("d",CheckDate, CDate(TempDateSelect)) = 0 then
'    bgcolor="#EFEFEF"
'  else
      bgcolor="#FFFFFF"
'  End if
Avatar billede eagleeye Praktikant
22. januar 2004 - 17:08 #13
Er det samme fejl?
Avatar billede Jman Praktikant
22. januar 2004 - 20:28 #14
jeps
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'TempDateSelect'

/kalender.asp, line 128

--> 128:if DateDiff("d",Date,TempDateSelect) = 0 then
Avatar billede eagleeye Praktikant
22. januar 2004 - 20:29 #15
og hvis du udskriver TempDateSelect hvordan ser den så ud?
Det lyder som om den ikke er en dato??
Avatar billede Jman Praktikant
22. januar 2004 - 21:22 #16
Prøv evt at se http://www.provenceweb.dk/kalender.asp
øverste i hvert felt er TempDateSelect
midterste i hvert felt er Checkdate
Sidste tal er DatCounter
Avatar billede eagleeye Praktikant
22. januar 2004 - 21:50 #17
Fejlen kommer også i marts, jeg tror den tæller en dag for langt så den forsøge at tjekke den 32-01-2004..
kan det passe??
Avatar billede eagleeye Praktikant
22. januar 2004 - 21:52 #18
Det muligt hvis det er koden du har vist der er ikke et tjek på "max" dato man uskriver bare 7 uger. Så kan man tjekke med isDate om det er en valid dato:

    if isDate(TempDateSelect) then
      if DateDiff("d",Date, TempDateSelect) = 0 then
        bgcolor="#EFEFEF"
      else
        bgcolor="#FFFFFF"
      End if
    End if
Avatar billede Jman Praktikant
22. januar 2004 - 21:56 #19
You never stop to amaze me ....
Tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB