"Jørn Andersen" <jorn@jorna.dk> skrev
>>Hej NG
>>Jeg har nogle meddelelser, som jeg redigerer i, og vil så gemme dem.
>>Til dette bruger jeg nedenstående kode:
>>
>>Kode start
>>Dim formItems
>>Set formItems = Request.Form
>
> Prøv at udskrive formItems.
txtMeddID=2&txtFraDato=11-10-2006&txtTilDato=11-10-2006&txtMeddelelse=bla....bla...bla&txtMeddID=1&txtFraDato=08-10-2006&txtTilDato=03-11-2006&txtMeddelelse=bla....bla...bla&B1=Opdat%E9r+meddelelser+til+brugere
>
>>Dim count
>>dim antalSaet
>>count = 1
>>
>> ' formItems.Count er antal af elementer i formen
>> antalSaet = formItems.Count
>
> Prøv at udskrive antalSaet
5
> Jeg tror tallet er højere, end du regner med.
Ja, jeg regnede med 4...
>
>> 'Der køres igennem alle "sæt"
>> While(count <= antalSaet)
>>
>> Sql="UPDATE tblMeddelelse SET FraDato='" &
>> Request.Form("txtFraDato"&count)
>>_
>> & "', TilDato='" & Request.Form("txtTilDato"&count) _
>> & "', Meddelelse='" & Request.Form("txtMeddelelse"&count) _
>> & "' WHERE MeddID=" & Request.Form("txtMeddID"&count)
>> Conn.Execute(Sql) <--- Linie 41
>> count = count + 1
>> Wend
>>Kode slut
>>Giver denne sql:
>>UPDATE tblMeddelelse SET FraDato='', TilDato='', Meddelelse='' WHERE
>>MeddID=
>>
>>Jeg får denne fejl:
>>Fejltype:
>>Microsoft JET Database Engine (0x80040E14)
>>Der er en syntaksfejl, fordi der mangler en operator. i
>>forespørgselsudtrykket "MeddID=".
>>/hhc/public_html/admin_/meddelelse_edit_upd.asp, line 41
>>
>>Kan i hjælpe lidt med den...
>
> Jeg tror som sagt, at dit antalSaet er højere, end du regner med.
> Fx vil txtTilDato1, txtMeddelelse1, txtMeddId jo tælle til 3, mens du
> regner dem som "et sæt". Og måske får du også noget andet med i din
> Request.From, som du ikke lige har regnet med?
Ja...
B1=Opdat%E9r+meddelelser+til+brugere
Hvordan skal den lige skæres...
>
> Desuden er det en lidt "farlig" ting at indsætte Request-værdier
> direkte i Sql'en uden validering. Se fx:
> <url:
http://www.asp-faq.dk/article/?id=95>
Ja, det rettes til, når Update virker...
hilsen
Bjarne