Avatar billede annikadk Nybegynder
30. juni 2002 - 12:05 Der er 13 kommentarer og
3 løsninger

SET.... If.... Then..... Else.... End

koden er:
------------------------
<%
    SET Rsgalleri = Conn.Execute("SELECT * FROM Galleri WHERE PID IN (SELECT UGrup FROM Side WHERE UGrup=" & Request("SIDE") & ";) ;")
Response.Write "<table border='0' width='400' cellspacing='0' cellpadding='8' class='tmain'>"
Response.Write "  <tr>"
Response.Write "    <td width='33%' valign='middle' align='center'>"
Response.Write "    <% If Rsgalleri('url1s') = 'x' Then %>
Response.Write "Tom"
Response.Write "  <% Else %>"
Response.Write " <a href=" & Chr(34) & "default.asp?side=" & Rsgalleri("url1") & Chr(34) & "target=" & Chr(34) & "_blank" & Chr(34) & "><img src=" & Chr(34) & Rsgalleri("url1s") & Chr(34) & " border='0'></a></td>"
Response.Write "     <% End If %>"

osvosvosv....
%>
------------------------
Får fejl på linien
Response.Write "    <% If Rsgalleri('url1s') = 'x' Then %>
under "Then", men hvorfor??

Hvordan gøres det korrekt?
Duer <%.....%> ikke, da jeg er i en "<% Set RS"-sætning??
Avatar billede jespernaur Nybegynder
30. juni 2002 - 12:10 #1
Du har glemt gåseøjne til slut på linien
Avatar billede eagleeye Praktikant
30. juni 2002 - 12:10 #2
Du skal bruge " og ikke '. En ' bruges til at udkommentere en tekst:

If Rsgalleri("url1s") = "x" Then
Avatar billede eagleeye Praktikant
30. juni 2002 - 12:12 #3
hov ja glem mit svar det står jo inde i en response.write :)
Avatar billede annikadk Nybegynder
30. juni 2002 - 12:22 #4
sorry - de gåse øjne var i en af mine "forsøg", men selv det hjælper ikke.

Fejlmeldingen melder:
Error Type:
Microsoft VBScript compilation (0x800A0409)
Unterminated string constant
/chili/billed1.asp, line 44, column 52
Response.Write " <% If Rsgalleri('url1s') = 'x' Then
---------------------------------------------------^
Avatar billede eagleeye Praktikant
30. juni 2002 - 12:26 #5
Som jespernaur skriver du mangler en " til at afslutte den response.write:

Response.Write "    <% If Rsgalleri('url1s') = 'x' Then %>"
Avatar billede eagleeye Praktikant
30. juni 2002 - 12:30 #6
Er det kode du vil udskrive som eks eller er det kode som skal køres og lave en tabel?
Avatar billede annikadk Nybegynder
30. juni 2002 - 12:33 #7
som den ser ud nu:
<%
    SET Rsgalleri = Conn.Execute("SELECT * FROM Galleri WHERE PID IN (SELECT UGrup FROM Side WHERE UGrup=" & Request("SIDE") & ";) ;")
Response.Write "<table border='0' width='400' cellspacing='0' cellpadding='8' class='tmain'>"
Response.Write "  <tr>"
Response.Write "    <td width='33%' valign='middle' align='center'>"
Response.Write "    <% If Rsgalleri('url1s') = 'x' Then %>"
Response.Write "Chr(32)"
Response.Write "  <% Else %>"
Response.Write " <a href=" & Chr(34) & "default.asp?side=" & Rsgalleri("url1") & Chr(34) & "target=" & Chr(34) & "_blank" & Chr(34) & "><img src=" & Chr(34) & Rsgalleri('url1s') & Chr(34) & " border='0'></a></td>"
Response.Write "     <% End If %>"
------------------------------------
og fejlen er
Error Type:
Microsoft VBScript compilation (0x800A0409)
Unterminated string constant
/chili/billed1.asp, line 44, column 52
Response.Write " <% If Rsgalleri('url1s') = 'x' Then
---------------------------------------------------^

udskrives som eks?? noper
den skal bare udføre det i tabellen....
Avatar billede eagleeye Praktikant
30. juni 2002 - 12:37 #8
Ok hvis det er kode som skal udføres så skal du ikke havde Response.write på de linier hvor du udføre ASP kode som if then else end if ... do loop.

Response.write skal kun bruges til at udskrive til browseren/siden:


SET Rsgalleri = Conn.Execute("SELECT * FROM Galleri WHERE PID IN (SELECT UGrup FROM Side WHERE UGrup=" & Request("SIDE") & ";) ;")
Response.Write "<table border='0' width='400' cellspacing='0' cellpadding='8' class='tmain'>"
Response.Write "  <tr>"
Response.Write "    <td width='33%' valign='middle' align='center'>"
If Rsgalleri("url1s") = "x" Then
  Response.Write "Chr(32)"
Else
Response.Write " <a href=" & Chr(34) & "default.asp?side=" & Rsgalleri("url1") & Chr(34) & "target=" & Chr(34) & "_blank" & Chr(34) & "><img src=" & Chr(34) & Rsgalleri('url1s') & Chr(34) & " border='0'></a></td>"
End If
Avatar billede tmceu Praktikant
30. juni 2002 - 12:39 #9
Det går galt her: Rsgalleri('url1s')

Som det tidligere er sagt, bruges ' (ping) til at kommentere med i VBScript.

Erstat alle ' med "" i response.write og i selve scriptet som ovenstående, skal du anvende "
Avatar billede annikadk Nybegynder
30. juni 2002 - 12:49 #10
Det virker nu :)
ja, tror dengang jeg lavede forsøget uden response.write foran lige de sætninger, at jeg manglede at rette fra ' til " :)

Takker :)
Avatar billede annikadk Nybegynder
30. juni 2002 - 13:09 #11
damn... sad med denne kode i et andet dokument, og da jeg smækkede den ind der hvor den hører til opdagede jeg det jeg havde glemt :\

Det er en if-else-then i en if-else-then, så er der en "hurtig" løsning på det???

altså<% If Rs("TMenu") = "4" Then %>
    <%
    SET Rsgalleri = Conn.Execute("SELECT * FROM Galleri WHERE PID IN (SELECT UGrup FROM Side WHERE UGrup=" & Request("SIDE") & ";) ;")
Response.Write "<table border='0' width='400' cellspacing='0' cellpadding='3' class='tmain'>"
Response.Write "  <tr>"
Response.Write "    <td width='33%' valign='middle' align='center'>"
    If Rsgalleri("url1s") = "x" Then
Response.Write " "
        Else
Response.Write " <a href=" & Chr(34) & "default.asp?side=" & Rsgalleri("url1") & Chr(34) & "target=" & Chr(34) & "_blank" & Chr(34) & "><img src=" & Chr(34) & Rsgalleri("url1s") & Chr(34) & " border='0'></a></td>"
    End If


osv... med flere muligheder for begge 2 : \
Avatar billede eagleeye Praktikant
30. juni 2002 - 13:13 #12
du mangler en else eller end if på den første if:


<% If Rs("TMenu") = "4" Then %>
    <%
    SET Rsgalleri = Conn.Execute("SELECT * FROM Galleri WHERE PID IN (SELECT UGrup FROM Side WHERE UGrup=" & Request("SIDE") & ";) ;")
Response.Write "<table border='0' width='400' cellspacing='0' cellpadding='3' class='tmain'>"
Response.Write "  <tr>"
Response.Write "    <td width='33%' valign='middle' align='center'>"
    If Rsgalleri("url1s") = "x" Then
Response.Write " "
        Else  'Else til: If Rsgalleri("url1s") = "x"
Response.Write " <a href=" & Chr(34) & "default.asp?side=" & Rsgalleri("url1") & Chr(34) & "target=" & Chr(34) & "_blank" & Chr(34) & "><img src=" & Chr(34) & Rsgalleri("url1s") & Chr(34) & " border='0'></a></td>"
    End If 'End if til: If Rsgalleri("url1s") = "x"
else
  'Else delen til: if rs("TMenu") = "4"

end if 'End til: if rs("TMenu") = "4"
Avatar billede annikadk Nybegynder
30. juni 2002 - 13:29 #13
Det er der længere nede.
"kort sagt"

kode heroppe
<% If RS("TMenu") = "4" Then %>
<%
  SET Rsgalleri = Conn.Execute("SELECT * FROM Galleri WHERE PID IN (SELECT UGrup FROM Side WHERE UGrup=" & Request("SIDE") & ";) ;")
Response.Write "<table border='0' width='400' cellspacing='0' cellpadding='3' class='tmain'>"
If Rsgalleri("url1s") = "x" Then
Response.Write " "
      Else
Response.Write "Noget andet"
    End If
Else 'else til TMenu=4
<% If RS("TMenu") = "5" Then %>
      <%= Rs("Indhold") %>
<% End If %>
Avatar billede eagleeye Praktikant
30. juni 2002 - 13:33 #14
hvis du har mange hvor du skal tjekke på TMenu kan du lave elseif:

if .. then

elseif .. then

elseif .. then

end if
Avatar billede eagleeye Praktikant
30. juni 2002 - 13:36 #15
i denne mangler det umiddelbart en end if:

Else 'else til TMenu=4
<% If RS("TMenu") = "5" Then %>
      <%= Rs("Indhold") %>
  <% End If %>
<% End If %>
Avatar billede annikadk Nybegynder
30. juni 2002 - 13:40 #16
opretter lige et nyt spr. hvor jeg smækker koden i, for er selv vildt forvirret lige nu :\
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