Avatar billede avt Nybegynder
18. januar 2002 - 11:41 Der er 9 kommentarer og
1 løsning

tjek dato

Jeg henter en dato fra en database som jeg tjekker med denne sætning:

If DateDiff(\"s\", HotlineSlutSvar, Now) > 0 Then strAktiv = \"<b><font color=#FF0000>UDLØBET!!</font></b><br> <i>(\" & rs(\"Info\") & \")</i>\" Else strAktiv = \"Aktiv\"

Men den fejler ret voldsomt når svaret fra databasen ikke er en dato eller blot blankt

med fejlen :

Microsoft VBScript runtime error \'800a000d\'

Type mismatch: \'[string: \"\"]\'

/beta/default.asp, line 220

nogen der kan hjælpe en nybegynder ?
Avatar billede cygnet Praktikant
18. januar 2002 - 11:49 #1
hvad vil du have til at ske når det er blankt ?
Avatar billede avt Nybegynder
18. januar 2002 - 11:51 #2
Et tredje svar(f.eks fejl i dato) eller en fiktiv værdi *G* alt andet end fejlen
Avatar billede cygnet Praktikant
18. januar 2002 - 11:51 #3
du kan jo går ind og tjecke om det står noget i feltet først :

<% If Len((HotlineSlutSvar)) > 0 Then %>
<% If DateDiff(\"s\", HotlineSlutSvar, Now) > 0 Then strAktiv = \"<b><font color=#FF0000>UDLØBET!!</font></b><br> <i>(\" & rs(\"Info\") & \")</i>\" Else strAktiv = \"Aktiv\" %>
<% else %>
Der skete en fejl
<% end if %>
Avatar billede cygnet Praktikant
18. januar 2002 - 11:53 #4
ups... så ledes

<% If Len((HotlineSlutSvar)) > 0 Then %>
<% If DateDiff(\"s\", HotlineSlutSvar, Now) > 0 Then strAktiv = \"<b><font color=#FF0000>UDLØBET!!</font></b><br> <i>(\" & rs(\"Info\") & \")</i>\" Else strAktiv = \"Aktiv\" %>
<% end if %>
<% else %>
Der skete en fejl
<% end if %>

/cygnet
http://www.ingermann.dk/cygnet
Avatar billede avt Nybegynder
18. januar 2002 - 12:08 #5
Den sidste virker da vist ikke ...
men det opslag jeg laver fejler stadig
(jeg er nemlig ikke sikker på hvad databasen svarer tilbage)

men jeg har lavet et andet tjek på om feltet er tomt - men uden held jeg fatter det bare ikke

jeg har :
    HotlineSlut = Trim(Mid(s, 156, 10))
        select case HotlineSlut
          case \"\"
            HotlineSlutSvar = \"1111-01-01\"
          case \" \"
            HotlineSlutSvar = \"1111-01-01\"
          case else
            HotlineSlutSvar = \"\"+ HotlineSlut +\"\"
    end select
Avatar billede avt Nybegynder
18. januar 2002 - 12:14 #6
når jeg slår op - så vælger den \"case else\"

men laver jeg en \"response.write \"<br>hotline: \" + HotlineSlut + \"\"

så er hotlineslutværdi´en ingenting
Avatar billede avt Nybegynder
18. januar 2002 - 12:15 #7
fuck jeg er ved at få hovedpine af det her *G*
Avatar billede erb Nybegynder
18. januar 2002 - 13:56 #8
Det her skulle virke:

<%
if len(HotlineSlutSvar) = 0 then
    strAktiv = \"Fejl i dato\"
else
    If DateDiff(\"s\", HotlineSlutSvar, Now) > 0 then
        strAktiv = \"<b><font color=#FF0000>UDLØBET!!</font></b><br> <i>(\" & rs(\"Info\") & \")</i>\"
    else
        strAktiv = \"Aktiv\"
    end if
end if
response.write strAktiv
%>
Avatar billede avt Nybegynder
21. januar 2002 - 11:53 #9
det virker fint hvis svaret er blank eller en dato - men er svaret f.eks ordet \"intet\" så fejler den.
Avatar billede erb Nybegynder
21. januar 2002 - 13:15 #10
Okay, jeg tog for givet at du havde brugt et datofelt i databasen...
Men når det nu ikke er tilfældet, kan du gøre det på følgende måde:
<%
if isDate(HotlineSlutSvar) then
    If DateDiff(\"s\", HotlineSlutSvar, Now) > 0 then
        strAktiv = \"<b><font color=#FF0000>UDLØBET!!</font></b><br> <i>(\" & rs(\"Info\") & \")</i>\"
    else
        strAktiv = \"Aktiv\"
    end if
else
    strAktiv = \"Fejl i dato\"
end if
%>
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