Avatar billede phuc69 Juniormester
18. maj 2004 - 13:34 Der er 11 kommentarer og
1 løsning

Hvofor virker min if sætning ikke.

Jeg har følgende kode. Den virker fint hvis jeg fjerner if rundt om sætningen
Response.write "<a href='sup/" & rs("Fil") & "' class='test' target='_blank'>Tryk her for yderlig information</a> <br>"

men når if sætning er på så åbner den kun siden. /sup og skriver så http forbudt 403 Er der nogen der kan komme med en løsning på problemmet


<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("tutorial.mdb")
Conn.Open DSN
strSQL = "Select * from Nedbrud WHERE Id="& Request.Querystring("Id")


Set rs = Conn.Execute(strSQL)
Response.write "<h1>Driftinformation for " & rs("System") & " den " & rs("dato") & "</h1>"
Response.write "<textarea cols='40' rows='8'>" & rs("hvad") & "</textarea> <br>"

If rs("Fil") <> "" then
Response.write "<a href='sup/" & rs("Fil") & "' class='test' target='_blank'>Tryk her for yderlig information</a> <br>"
end if

Conn.Close
Set Conn = Nothing
%>
Avatar billede ellebaek Nybegynder
18. maj 2004 - 13:36 #1
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("tutorial.mdb")
Conn.Open DSN
strSQL = "Select * from Nedbrud WHERE Id="& Request.Querystring("Id")


Set rs = Conn.Execute(strSQL)
Response.write "<h1>Driftinformation for " & rs("System") & " den " & rs("dato") & "</h1>"
Response.write "<textarea cols='40' rows='8'>" & rs("hvad") & "</textarea> <br>"

If not rs("Fil") = "" then
Response.write "<a href=""sup/" & rs("Fil") & """ class='test' target='_blank'>Tryk her for yderlig information</a> <br>"
end if

Conn.Close
Set Conn = Nothing
%>

prøv lige sådan her..
Avatar billede steen_hansen Forsker
18. maj 2004 - 13:39 #2
Det er ikke fordi du mangler noget i denne (et dokument):

If rs("Fil") <> "" then
Response.write "<a href='sup/" & rs("Fil") & "' class='test' target='_blank'>Tryk her for yderlig information</a> <br>"
end if

<% If RS("fil") <> "" Then %>
<a href="sup/"<%=RS("fil")%> class="test" target="_blank">Tryk her for yderligere information</a><br>
<% End If %>

skal måske rettes til:

<% If RS("fil") <> "" Then %>
<a href="sup/dokument.asp"<%=RS("fil")%> class="test" target="_blank">Tryk her for yderligere information</a><br>
<% End If %>
Avatar billede steen_hansen Forsker
18. maj 2004 - 13:40 #3
Så ikke lige ellebaek, og det jeg skrev er forkert. Overlader det til ellebaek :o)
Avatar billede phuc69 Juniormester
18. maj 2004 - 13:47 #4
Det ændre ikke noget. Husk på det virker hvis if'en ikke er der. Det er som om den ikke indsætter filnavnet.
Avatar billede mikkel_strack Nybegynder
18. maj 2004 - 14:31 #5
Prøv lige det her - det virker herhjemme hos mig. Laver den stadig samme fejl hos dig, må problemet ligge et andet sted..

<%
dim conn

function OpenConn( DBName )

Set Conn = Server.CreateObject("ADODB.Connection")
ODBCpath = left(request.servervariables("PATH_TRANSLATED"), instrrev(request.servervariables("PATH_TRANSLATED"), "\"))
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ODBCpath & DBName

end function

OpenConn("tutorial.mdb")
strSQL = "Select * from links Where ID =" & Request.Querystring("Id")


Set rsEntries = Server.CreateObject("ADODB.Recordset")
rsEntries.Open strSQL, Conn, 1

Response.write "<h1>Driftinformation for " & rsEntries("system") & " den " & rsEntries("dato") & "</h1>"
Response.write "<textarea cols='40' rows='8'>" & rsEntries("hvad") & "</textarea> <br>"

If rsEntries("fil") <> "" then
Response.write "<a href=sup/" & rsEntries("fil") & " class=tes' target=_blank>Tryk her for yderlig information</a> <br>"
end if


rsEntries.close
set rsEntries = nothing

%>

Mikkel
Avatar billede and_ Nybegynder
18. maj 2004 - 14:35 #6
Prøv at smide din fil ned i en variabel.... access kan godt være lidt tricky hvad det angår:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("tutorial.mdb")
Conn.Open DSN
strSQL = "Select * from Nedbrud WHERE Id="& Request.Querystring("Id")


Set rs = Conn.Execute(strSQL)
Response.write "<h1>Driftinformation for " & rs("System") & " den " & rs("dato") & "</h1>"
Response.write "<textarea cols='40' rows='8'>" & rs("hvad") & "</textarea> <br>"

filnavn = rs("fil")
If filnavn <> "" then
Response.write "<a href='sup/" & filnavn & "' class='test' target='_blank'>Tryk her for yderlig information</a> <br>"
end if

Conn.Close
Set Conn = Nothing
%>
Avatar billede phuc69 Juniormester
18. maj 2004 - 14:40 #7
Virker heller ikke
Avatar billede and_ Nybegynder
18. maj 2004 - 14:42 #8
har du en url?
Avatar billede phuc69 Juniormester
18. maj 2004 - 14:46 #9
and dit svar virker. Det var mikkel der ikke gør. Har man nogen ide om hvorfor det er sådan.
Avatar billede and_ Nybegynder
18. maj 2004 - 14:49 #10
Jeg ved ærlig talt ikke hvorfor access ikke kan håndtere at man bruger et felt flere gange (sommetider)...

Jeg har vænnet mig til når jeg programmerer til en access base at ligge de ting som jeg bruge flere gange ned i variabler, for så er jeg sikker på at kunne bruge dem igen.....

Men er da glad for at du fik det til at virke ;)
tak for point...
Avatar billede carstensuurland Nybegynder
18. maj 2004 - 14:53 #11
Generel betragtning...
Når du spørger til rs("fil") så får du returneret en objektvariabel af typen ADODB.Field. Det vil sige at du egentligt spørger til om en objektvariabel er forskellig fra en tom string.
Det fungerer som regel ok, men skal du gøre det korrekt bør du skrive:

If rs.Fields.Item("fil").Value <> "" Then
...
End If
Avatar billede phuc69 Juniormester
18. maj 2004 - 14:59 #12
Tak for de gode svar. Det er dog lidt sjovt som det virker engang imellem :-)
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