Avatar billede martindyhl Nybegynder
12. august 2007 - 12:31 Der er 5 kommentarer og
1 løsning

Replace fejler

Jeg har nedenstående kode på en side, hvor jeg henter en tekst med [Mellemrum], der skal erstattes med afsnit (<p>). Jeg fik en fejl, som sagde: "Null er brugt ugyldigt: 'Replace'", så jeg satte tekst = "" & produktion("produktion_tekst"), altså med "", men nu viser den ikke teksten. Nogen, der kan se, at den er helt gal?

<!--#include file="forbindelse_start.asp" -->
<%
Set produktion = Server.CreateObject ("ADODB.RecordSet")
produktion.Open "SELECT * FROM produktion Where produktion_id = " & Request.QueryString("produktion_id"), database1
%>

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Produktion</title>
<link rel="stylesheet" type="text/css" href="../../style.css">
</head>

<body>

<table border="0" width="100%" id="table1" cellspacing="0" cellpadding="0">
    <tr>
        <td>
            <table border="0" cellspacing="0" cellpadding="0">
<%
If produktion("produktion_tekst") <> "-" Then
tekst = "" & produktion("produktion_tekst")
Response.Write ("                <tr>")
Response.Write ("                    <td>")
Response.Write ("            <img border='0' src='../../images/mellemrum.gif' width='20' height='20'></td>")
Response.Write ("                </tr>")
End if
%>
                <tr>
                    <td class="tekst" valign="top"><p><%=Replace(tekst, "[Mellemrum]", "<p>")%>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>

</body>

</html>
<!--#include file="forbindelse_slut.asp" -->
Avatar billede skov_p Praktikant
12. august 2007 - 12:41 #1
Jeg vil tro at din variabel tekst er tom/null
I din if sætning tester du for "-", prøve at teste om den er null
Avatar billede martindyhl Nybegynder
12. august 2007 - 12:47 #2
Hvis jeg sætter If produktion("produktion_tekst") = "" Then, så vises der ingenting. Men hvis jeg fjerner

<%
If produktion("produktion_tekst") <> "-" Then
tekst = "" & produktion("produktion_tekst")
Response.Write ("                <tr>")
Response.Write ("                    <td>")
Response.Write ("            <img border='0' src='../../images/mellemrum.gif' width='20' height='20'></td>")
Response.Write ("                </tr>")
End if
%>

og i stedet skriver <%=Replace(produktion("produktion_tekst"), "[Mellemrum]", "<p>")%>, så bliver det vist som det skal..?
så er der ingen problemer med Replace
Avatar billede skov_p Praktikant
12. august 2007 - 12:54 #3
Det er sikker fordi du kun ka hente dataene 1 gang fra dit recordset.

Prøv at flytte din if en gang ned

...
<body>

<table border="0" width="100%" id="table1" cellspacing="0" cellpadding="0">
    <tr>
        <td>
            <table border="0" cellspacing="0" cellpadding="0">
<%
tekst = "" & produktion("produktion_tekst")
If tekst <> "-" Then
Response.Write ("                <tr>")
Response.Write ("                    <td>")
Response.Write ("            <img border='0' src='../../images/mellemrum.gif' width='20' height='20'></td>")
Response.Write ("                </tr>")
End if
%>
                <tr>
                    <td class="tekst" valign="top"><p><%=Replace(tekst, "[Mellemrum]", "<p>")%>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>

</body>

...
Avatar billede skov_p Praktikant
12. august 2007 - 12:55 #4
... og brug tekst i stedet for produktion("produktion_tekst") i if sætningen
Avatar billede martindyhl Nybegynder
12. august 2007 - 13:12 #5
Det hjalp! Tak for hjælpen - Smid et svar.
Avatar billede skov_p Praktikant
12. august 2007 - 13:14 #6
Svar :o)
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