Avatar billede jmc Nybegynder
03. oktober 2002 - 15:17 Der er 18 kommentarer og
1 løsning

opdatering af JA/NEJ felt

SqlVar = "INSERT into relation (produkt_id, cid, Valgt) VALUES (" &
request("produkt_id") & "," & TxtArray(i) & ",True)"

udskriver:
INSERT into relation (produkt_id, cid, Valgt) VALUES
(1,2=on,True)INSERT into relation (produkt_id, cid, Valgt) VALUES
(1,9=on,True)INSERT into relation (produkt_id, cid, Valgt) VALUES
(1,10=on,True)INSERT into relation (produkt_id, cid, Valgt) VALUES
(1,11=on,True)

MEN DET SKAL IKKE VÆRE 9=on MEN KUN 9

og denne her:
For i = LBound(TxtArray) To UBound(TxtArray)
'Response.write("Her: " & replace(TxtArray(i),"=on","") & "<br>") CID
= replace(TxtArray(i)) SqlVar = "INSERT into relation (produkt_id,
cid, Valgt) VALUES (" &
request("produkt_id") & "," & CID & ",True)"
response.Write(SqlVar)
'rs_relation.Execute (SqlVar)
Next

udskriver:
Wrong number of arguments or invalid property assignment: 'replace'
Avatar billede rasmuslund Nybegynder
03. oktober 2002 - 15:26 #1
Hej

Fejlen ligger nok i hvad der er du gemmer i din TxtArray(i) !!
Hvordan har du lavet dit Array??

Wrong number of arguments or invalid property assignment: 'replace' plejer gerne at betyde at du forsøger at erstatte i en streng uden indhold !

/Rasmus :-)
Avatar billede jmc Nybegynder
03. oktober 2002 - 15:35 #2
TxtVar = request.form()
TxtArray = Split(TxtVar,"&")
Avatar billede rasmuslund Nybegynder
03. oktober 2002 - 16:03 #3
Problemet er at du gemmer hele parret i dit array(formfeltnavn=feltværdi), også skriver den det ud.
Prøv at gører sådan her istedet for nu du henter værdierne fra request.form ud:

<%    TxtVar = ""
    ' opbyg en streng med kun værdierne fra request.form objektet
    for each element in request.form
        TxtVar = TxtVar & request.form(element) & ","
    next
    TxtVar = left(TxtVar,len(TxtVar-1)) ' klip det sidste , af ellers går der kludder i senere løkker
    TxtArray = split(TxtArray,",") 'dan aray udfra strengen %>
Avatar billede rasmuslund Nybegynder
03. oktober 2002 - 16:04 #4
Har du brug for form feltets navn kan du bruge:

for each element in request.form
    TxtVar = TxtVar & element & ","
next
Avatar billede jmc Nybegynder
03. oktober 2002 - 16:10 #5
Type mismatch: '[string: "on,on,on,"]'

TxtVar = left(TxtVar,len(TxtVar-1)) '?
Avatar billede jmc Nybegynder
03. oktober 2002 - 16:11 #6
jeg ikke forstå ...
Avatar billede rasmuslund Nybegynder
03. oktober 2002 - 16:14 #7
det jeg gør er at opbygge en streng med værdierne fra request.form.

f.eks. 1,2,3,4,5,
da jeg hvergang jeg jeg sætter en ny værdi på strengen sætter et komma på til at splitte på, bliver jeg lige nødt til at fjerne det sidste tegn som er et komma.

Tror du skal erstatte TxtVar = TxtVar & request.form(element) & ","
med TxtVar = TxtVar & element & ","
Avatar billede jmc Nybegynder
03. oktober 2002 - 16:19 #8
nu udskriver den intet?

Dim TxtVar, SqlVar
TxtVar = ""
' opbyg en streng med kun værdierne fra request.form objektet
for each element in request.form
TxtVar = TxtVar & element & ","
next
TxtVar = left(TxtVar,len(TxtVar-1)) ' klip det sidste , af ellers går der kludder i senere løkker
TxtArray = split(TxtArray,",") 'dan array udfra strengen

For i = LBound(TxtArray) To UBound(TxtArray)
SqlVar = "INSERT into relation (produkt_id, cid, Valgt) VALUES (" & request("produkt_id") & "," & TxtArray(i) & ",True)"
response.Write(SqlVar)
'rs_relation.Execute (SqlVar)
Next

Jeg har siddet med det i tre dage nu og er ved at gå bananas, jeg skal ud af døren nu. Kikker når jeg kommer hjem.
takker ;o)
Avatar billede rasmuslund Nybegynder
03. oktober 2002 - 16:20 #9
sorry en lille syntax fejl havde jeg lavet...

TxtVar = left(TxtVar,len(TxtVar)-1)
Avatar billede rasmuslund Nybegynder
03. oktober 2002 - 16:23 #10
i for løkken giver request.form(element) værdien(value) fra felterne og element er navnet.
Avatar billede jmc Nybegynder
03. oktober 2002 - 21:56 #11
Sorry
Den opdaterer stadigt ikke feltet valgt?
Avatar billede jmc Nybegynder
03. oktober 2002 - 22:03 #12
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/b.asp" -->

<%
Set rs_relation = Server.CreateObject("ADODB.Connection")
rs_relation.Open MM_bst_STRING

'sletter alle records med produkt_id
SQL_d  = "DELETE FROM relation WHERE produkt_id = " & request("produkt_id")
rs_relation.Execute (SQL_d)

'tilføjer alle CID fra Child - der kunne være nye
SQL_a = "INSERT into relation (produkt_id, CID) SELECT " & request("produkt_id") & ",CID FROM child"
rs_relation.Execute (SQL_a)

Dim TxtVar, SqlVar
TxtVar = ""
' opbyg en streng med kun værdierne fra request.form objektet
for each element in request.form
TxtVar = TxtVar & element & ","
next
TxtVar = left(TxtVar,len(TxtVar)-1) ' klip det sidste , af ellers går der kludder i senere løkker
TxtArray = split(TxtArray,",") 'dan array udfra strengen

For i = LBound(TxtArray) To UBound(TxtArray)
SqlVar = "INSERT into relation (produkt_id, cid, Valgt) VALUES (" & request("produkt_id") & "," & TxtArray(i) & ",True)"
'response.Write(SqlVar)
rs_relation.Execute (SqlVar)
Next

'response.Redirect("rediger_produkt.asp?produkt_id="&request("produkt_id"))
%>

<%
rs_relation.Close()
Set rs_relation = Nothing
%>
Avatar billede jmc Nybegynder
04. oktober 2002 - 07:43 #13
Kan du gennemskue hvorfor:
SqlVar = "INSERT into relation (produkt_id, cid, Valgt) VALUES (" & request("produkt_id") & "," & TxtArray(i) & ",True)"
ikke opdatere valgt til True?
Avatar billede rasmuslund Nybegynder
04. oktober 2002 - 08:11 #14
Hvilken database benytter du??
Får du en fejl, eller gør den bare ikke noget??
Avatar billede jmc Nybegynder
04. oktober 2002 - 08:16 #15
Jeg modtager ingen fejl, og jeg benytte access.

Den her udskriver intet?

Dim TxtVar, SqlVar
TxtVar = ""

for each element in request.form
TxtVar = TxtVar & element & ","
next
TxtVar = left(TxtVar,len(TxtVar)-1)
TxtArray = split(TxtArray,",")

For i = LBound(TxtArray) To UBound(TxtArray)
SqlVar = "INSERT into relation (produkt_id, cid, Valgt) VALUES (" & request("produkt_id") & "," & TxtArray(i) & ",True)"
response.Write(SqlVar)
'rs_relation.Execute (SqlVar)
Next
Avatar billede rasmuslund Nybegynder
04. oktober 2002 - 08:26 #16
Prøv at udskrive din TxtVar efter du har lavet den, efter TxtArray = split(TxtArray,",")!! kan du se noget her??
Avatar billede jmc Nybegynder
04. oktober 2002 - 08:50 #17
Hvis jeg udskriver her:

for each element in request.form
TxtVar = TxtVar & element & ","
next
TxtVar = left(TxtVar,len(TxtVar)-1)
TxtArray = split(TxtArray,",")
response.Write(TxtVar)

giver det: 1 for felt 1 markeret
og 1,2,3 for de tre første felter markeret

giver det dig et clue?
Avatar billede rasmuslund Nybegynder
04. oktober 2002 - 08:56 #18
Yes got it - tror jeg ;-)

du har skrevet TxtArray = split(TxtArray,",")
det skal være TxtArray = split(TxtVar,",")

Tror jeg fik skrevet forkert igår sorry !!
Avatar billede jmc Nybegynder
04. oktober 2002 - 09:04 #19
Takker 100000, det virker.
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