Avatar billede bobbedude Nybegynder
05. marts 2003 - 08:18 Der er 9 kommentarer og
1 løsning

Opdater loop

Jeg har en liste med input felter der bliver kørt ud i et loop.

<%
x=1
if not rs.EOF then
Do until rs.EOF
%>
<input type="text" name="felt-<%=x%>" value="<%=rs("opdaterorder")%>">
<%
x=x+1
rs.MoveNext
Loop
else
response.write "ingen felter"
end if
%>

Hvordan får jeg opdateret alle felter når man klikker på Opdater ?
Avatar billede bobbedude Nybegynder
05. marts 2003 - 08:54 #1
Oki jeg har det her nu

<body>
<form name="form1" method="post" action="order.asp?opdater=ok&gruppeID=<%=request.querystring("gruppeID")%>&GrusGravID=<%=request.querystring("GrusGravID")%>">
<%
if not rs.EOF then
Do until rs.EOF
%>
<input type="text" name="felt_<%=rs("prisID")%>" value="<%=rs("opdaterorder")%>">
<%
rs.MoveNext
Loop
else
response.write "ingen felter"
end if
%>
<input type="submit" name="Submit" value="Submit">
</form>

</body>
</html>
<%
If request.querystring("opdater")="ok" then

for each felt in request.form
  arrFelt = split(felt, "_")
  SQL = "update prisliste set " & arrFelt(0) & "='" & request.form(felt) & "' where prisID=" & arrFelt(1)

  response.write SQL
 
  'conn.execute(SQL)
next

end if
%>



Men får fejlen

Microsoft VBScript runtime error '800a0009'

Subscript out of range: '[number: 1]'

order.asp, line 43

linie 43 er der hvor SQL'en køres
Avatar billede eagleeye Praktikant
05. marts 2003 - 09:06 #2
Så vidt jeg lige husker får man også Submit knappen med som et form felt..
<input type="submit" name="Submit" value="Submit">

Så man skal lave en if i stil med.:

if felt <> "Submit" then
  arrFelt = split(felt, "_")
  SQL = "update prisliste set " & arrFelt(0) & "='" & request.form(felt) & "' where prisID=" & arrFelt(1)
  response.write SQL

end if
Avatar billede bobbedude Nybegynder
05. marts 2003 - 09:08 #3
eagleeye >> Den giver samme fejl

Her er hele koden


<%
response.buffer = true
set connect = server.createobject("ADODB.Connection")
Connect.open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("db/prislister.mdb")

gruppeID = request.querystring("gruppeID")
GrusGravID = request.querystring("GrusGravID")

SQL = "Select * from prisliste Where gruppeID = "&gruppeID&" AND grusgrav = "&GrusGravID&" Order by opdaterorder ASC"
Set rs = Connect.Execute(SQL)

%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="order.asp?opdater=ok&gruppeID=<%=request.querystring("gruppeID")%>&GrusGravID=<%=request.querystring("GrusGravID")%>">
<%
if not rs.EOF then
Do until rs.EOF
%>
<input type="text" name="felt_<%=rs("prisID")%>" value="<%=rs("opdaterorder")%>">
<%
rs.MoveNext
Loop
else
response.write "ingen felter"
end if
%>
<input type="submit" name="Submit" value="Submit">
</form>

</body>
</html>
<%
If request.querystring("opdater")="ok" then

if felt <> "Submit" then

for each felt in request.form
  arrFelt = split(felt, "_")
  SQL = "update prisliste set " & arrFelt(0) & "='" & request.form(felt) & "' where prisID=" & arrFelt(1)

  response.write SQL
 
  'conn.execute(SQL)
next

end if

end if
%>
Avatar billede bobbedude Nybegynder
05. marts 2003 - 09:17 #4
Så vidt jeg kan se kommer Submit stadig med ud ?
Avatar billede dr-data Nybegynder
05. marts 2003 - 09:19 #5
du skal vist rette:

if felt <> "Submit" then

for each felt in request.form
  arrFelt = split(felt, "_")
  SQL = "update prisliste set " & arrFelt(0) & "='" & request.form(felt) & "' where prisID=" & arrFelt(1)

  response.write SQL
 
  'conn.execute(SQL)
next

end if

> til <

for each felt in request.form
if felt <> "Submit" then
  arrFelt = split(felt, "_")
  SQL = "update prisliste set " & arrFelt(0) & "='" & request.form(felt) & "' where prisID=" & arrFelt(1)

  response.write SQL
 
  'conn.execute(SQL)
end if
next
Avatar billede bobbedude Nybegynder
05. marts 2003 - 09:23 #6
hehe satte if opdaterorder <>"Submit" then forkert så nu er det tæt på, men jeg får nu en helt anden fejl.

eagleeye >> Er du her stadig ??
Avatar billede bobbedude Nybegynder
05. marts 2003 - 09:25 #7
Microsoft VBScript runtime error '800a01a8'

Object required: ''


If request.querystring("opdater")="ok" then



for each opdaterorder in request.form

if opdaterorder <>"Submit" then

  arrFelt = split(opdaterorder, "_")
 
  SQL = "update prisliste set " & arrFelt(0) & "=" & request.form(opdaterorder) & " where prisID=" & arrFelt(1)

  response.write SQL
  conn.execute(SQL)
 
  end if
 
next

end if
Avatar billede bobbedude Nybegynder
05. marts 2003 - 09:26 #8
ARRRRG hold da helt K... hvor sidder jeg og sover conn.execute(SQL)


Min hedder jo Connect !!
Avatar billede dr-data Nybegynder
05. marts 2003 - 09:29 #9
tror det er Conn den er gal med... selvom jeg mangler et linie nummer.... prøv

If request.querystring("opdater")="ok" then



for each opdaterorder in request.form

if opdaterorder <>"Submit" then

  arrFelt = split(opdaterorder, "_")
 
  SQL = "update prisliste set " & arrFelt(0) & "=" & request.form(opdaterorder) & " where prisID=" & arrFelt(1)

  response.write SQL
  response.end    'stopper her
  conn.execute(SQL)
 
  end if
 
next
Avatar billede dr-data Nybegynder
05. marts 2003 - 09:29 #10
hehe :D
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