Avatar billede karsten_larsen Praktikant
01. maj 2003 - 08:43 Der er 5 kommentarer og
1 løsning

Udskriv variabel i en løkke

Jeg har brug for at kontrolle nogle variable, men har problemer med at få dem skrevet ud.

Istedet for at skulle skrive det mange gange

Response.Write navn1 & "  "  & rolle1 & "<br>"
Response.Write navn2 & "  "  & rolle2  & "<br>"
Response.Write navn3 & "  "  & rolle3  & "<br>"
Response.Write navn4 & "  "  & rolle4  & "<br>"
etc..

har jeg forsøgt mig med

For n = j to antal
Response.Write navn&j & "  "  & rolle&j & "<br>"
Next

resultat bliver
1
2
3
4

og med

For n = j to antal
Response.Write ("navn"&j) & "  "  & ("rolle"&j) & "<br>"
Next

resultat bliver
navn1
navn2
navn3
navn4

Resultatet skulle blive
11 som er værdien af navn1
22 som er værdien af navn2
33 som er værdien af navn3
44 som er værdien af navn4

Hvad er det som jeg gør galdt?

?:-) karsten_larsen
Avatar billede eagleeye Praktikant
01. maj 2003 - 08:45 #1
Jeg tror du skal bruge execute:

  Execute "Response.Wite navn"&j
Avatar billede eagleeye Praktikant
01. maj 2003 - 08:46 #2
Så skal det så være write med r og ikke wite:
Execute "Response.Write navn"&j
Avatar billede hintzmann Nybegynder
01. maj 2003 - 08:53 #3
No hard feelings, men det er snot kode det du laver.
Du burde ligge dine værdier i et array.

Og igen som i http://www.eksperten.dk/spm/346832 så er execute meget performance krævende.
Avatar billede Slettet bruger
01. maj 2003 - 09:22 #4
Mener du kan gøre noget i stil med:
For n = j to antal
  Response.Write "Navn"&j & " " & eval("rolle"&j)
Next
Avatar billede karsten_larsen Praktikant
01. maj 2003 - 10:10 #5
-> hintzmann
Det er vel kun gennem fejl at man lære, hvilket vel også er en af meningerne med Eksperten. Så med din kommentar bliver jeg lidt nysgerrig på de forskellige niveauer af kodning der må findes - og hvad der gør, at man kan se, hvad der er godt og skidt.
Med hensyn til array - så bliver det det næste jeg vil kaste mig over.

-> bertie
jeg fik det ikke til at virke.

-> eagleeye - svaret virkede

og til dem som kan bruge det til noget, blev min løsning i forlængelse af spørgsmål http://www.eksperten.dk/spm/346832


Dim strToExec
For j=1 to antal
    strSQL = "SELECT * FROM resultat3 WHERE nummer=" & j
    Set rs = Conn.Execute(strSQL)
  strToExec = "navn" & j & " = """ & rs("person") & """"
  Execute(strToExec)
  strToExec = "rolle" & j & " = " & rs("rolle")
  Execute(strToExec)
Next

For j = 1 to antal
  Execute "Response.Write navn"&j
  Execute "Response.Write rolle"&j
Next

:-) karsten_larsen
Avatar billede Slettet bruger
01. maj 2003 - 10:24 #6
Det virker ikke fordi jeg har skrevet forkert :-)

Skulle være
Mener du kan gøre noget i stil med:
For n = j to antal
  Response.Write "Navn"&n & " " & eval("rolle"&n)
Next
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