|
| IF sætning Fra : Ukendt |
Dato : 20-09-07 09:02 |
|
Hej NG
Jeg er ved at lave en IF sætning...
Linie 108 ----> <td width="7%" align="center"><%IF
DateSerial(Year(RS1("Dato"))),DateSerial(Month(RS1("Dato"))),DateSerial(Day(RS1("Dato"))))=DateSerial(Year(datDato)),DateSerial(Month(datDato)),DateSerial(Day(datDato)))
AND RS1("Godkendt") = "True" THEN <----Linie 108 slut
Response.Write "<input type=" & "checkbox"
& " name=" & "C" & Tael & " value=" & "selected"
Exit Do
ELSE
Response.Write "<input type=" & "checkbox"
& " name=" & "C" & Tael & " value=" & "ON" & "_" & datDato & "%" &
RS("FraktionNummer") & ">"
Exit Do
END IF%></td>
Jeg får denne fejl:
Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03F9)
'Then' var ventet
/snapind/dag_ugerapport.asp, line 108, column 32
IF
DateSerial(Year(RS1("Dato"))),DateSerial(Month(RS1("Dato"))),DateSerial(Day(RS1("Dato"))))=DateSerial(Year(datDato)),DateSerial(Month(datDato)),DateSerial(Day(datDato)))
AND RS1("Godkendt") = "True" THEN
Jeg har nok stirret mig blind...
Kan i hjælpe...
Hilsen
Bjarne
"Every day new surprises"
| |
Michael Zedeler (20-09-2007)
| Kommentar Fra : Michael Zedeler |
Dato : 20-09-07 10:14 |
|
bsn wrote:
> Jeg er ved at lave en IF sætning...
>
> Linie 108 ----> <td width="7%" align="center"><%IF
> DateSerial(Year(RS1("Dato"))),DateSerial(Month(RS1("Dato"))),DateSerial(Day(RS1("Dato"))))=DateSerial(Year(datDato)),DateSerial(Month(datDato)),DateSerial(Day(datDato)))
> AND RS1("Godkendt") = "True" THEN <----Linie 108 slut
> Response.Write "<input type=" & "checkbox"
> & " name=" & "C" & Tael & " value=" & "selected"
> Exit Do
> ELSE
> Response.Write "<input type=" & "checkbox"
> & " name=" & "C" & Tael & " value=" & "ON" & "_" & datDato & "%" &
> RS("FraktionNummer") & ">"
> Exit Do
> END IF%></td>
>
> Jeg får denne fejl:
>
> Fejltype:
> Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03F9)
> 'Then' var ventet
> /snapind/dag_ugerapport.asp, line 108, column 32
> IF
> DateSerial(Year(RS1("Dato"))),DateSerial(Month(RS1("Dato"))),DateSerial(Day(RS1("Dato"))))=DateSerial(Year(datDato)),DateSerial(Month(datDato)),DateSerial(Day(datDato)))
> AND RS1("Godkendt") = "True" THEN
>
> Jeg har nok stirret mig blind...
Det er meget nemmere hvis du skriver din kode anderledes op, så den er
nemmere at overskue.
lad være med at skrive html og vbscript på samme linie.
Lav ekstra linieskift så du kan se hvad der foregår.
Indentér din kode.
Kode som
DateSerial(Year(RS1("Dato"))),DateSerial(Month(RS1("Dato"))),DateSerial(Day(RS1("Dato"))))=DateSerial(Year(datDato)),DateSerial(Month(datDato)),DateSerial(Day(datDato)))
er fuldstændig vanvittigt at have på en linie. Bryd det op i flere
linier hvor du hælder delresultater i midlertidige variable.
Når du har gjort det, er dit problem løst. Som bonus læser du også en
masse fremtidige problemer, hvis du blot tillægger dig disse vaner.
Mvh. Michael.
| |
Jørn Andersen (21-09-2007)
| Kommentar Fra : Jørn Andersen |
Dato : 21-09-07 02:01 |
|
On Thu, 20 Sep 2007 10:01:57 +0200, "bsn" <bsnSNABELAoncableDOTdk>
wrote:
>
> Linie 108 ----> <td width="7%" align="center"><%IF
>DateSerial(Year(RS1("Dato"))),DateSerial(Month(RS1("Dato"))),DateSerial(Day(RS1("Dato"))))=DateSerial(Year(datDato)),DateSerial(Month(datDato)),DateSerial(Day(datDato)))
>AND RS1("Godkendt") = "True" THEN <----Linie 108 slut
<snip>
>Fejltype:
>Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03F9)
>'Then' var ventet
>/snapind/dag_ugerapport.asp, line 108, column 32
Så vidt jeg kan se, er column 32 *senest* ved starten af din: <% IF
Med andre ord brokker den sig over, at en IF-linie *før* linie 108 ikke
er afsluttet med et Then.
Derudover kan jeg helt tilslutte mig Michaels bemærkninger
Især kan det være problematisk at tilgå den samme rs("xxx") flere gange.
Gem den i en variabel - det gør også din kode simplere.
Good luck!
--
Jørn Andersen,
Brønshøj
| |
Jørn Andersen (21-09-2007)
| Kommentar Fra : Jørn Andersen |
Dato : 21-09-07 02:54 |
|
On Thu, 20 Sep 2007 10:01:57 +0200, "bsn" <bsnSNABELAoncableDOTdk>
wrote:
> Linie 108 ----> <td width="7%" align="center"><%IF
>DateSerial(Year(RS1("Dato"))),DateSerial(Month(RS1("Dato"))),DateSerial(Day(RS1("Dato"))))=DateSerial(Year(datDato)),DateSerial(Month(datDato)),DateSerial(Day(datDato)))
>AND RS1("Godkendt") = "True" THEN <----Linie 108 slut
Et andet tip:
Hvis du vil sammenlige to dato/tid-værdier uden at tage hensyn til tiden
(men kun dato), så prøv med:
If DateValue(rs1("Dato")) = DateValue(datDato) Then
Det er lidt mere overskueligt
Good luck!
--
Jørn Andersen,
Brønshøj
| |
Ukendt (22-09-2007)
| Kommentar Fra : Ukendt |
Dato : 22-09-07 08:54 |
|
"Jørn Andersen" <jorn@jorna.dk> skrev
>
>> Linie 108 ----> <td width="7%" align="center"><%IF
>>DateSerial(Year(RS1("Dato"))),DateSerial(Month(RS1("Dato"))),DateSerial(Day(RS1("Dato"))))=DateSerial(Year(datDato)),DateSerial(Month(datDato)),DateSerial(Day(datDato)))
>>AND RS1("Godkendt") = "True" THEN <----Linie 108 slut
>
> Et andet tip:
> Hvis du vil sammenlige to dato/tid-værdier uden at tage hensyn til tiden
> (men kun dato), så prøv med:
>
> If DateValue(rs1("Dato")) = DateValue(datDato) Then
>
Tak for rådene begge to...
Fejlen lå i DateSerial func, som i kan se (har DateSerial foran både
year,month,date...dooohhhh)
Det må have været sent på natten....
Bjarne
| |
Jørn Andersen (22-09-2007)
| Kommentar Fra : Jørn Andersen |
Dato : 22-09-07 14:38 |
|
On Sat, 22 Sep 2007 09:53:45 +0200, "bsn" <bsnSNABELAoncableDOTdk>
wrote:
>Fejlen lå i DateSerial func, som i kan se (har DateSerial foran både
>year,month,date...dooohhhh)
Den havde jeg også overset
>Det må have været sent på natten....
Ja, eller også understrger det, at det kan betale sig at lave så
oveskuelig kode som muligt ...
Mvh. Jørn
--
Jørn Andersen,
Brønshøj
| |
|
|