Avatar billede lars_d Nybegynder
22. februar 2003 - 12:56 Der er 33 kommentarer og
1 løsning

Skal vist slås HELT fast... Hjælp lige med det, please...

I et andet spørgsmål her har jeg læst at for, at få browseren til at lave linieskift etc. (dvs skrive det som det står i db - ME linieskift, i stedet for blot at levere én lang tekststreng) i resultatet af en query fra MS Access, skal man skrive:

(rs("felt"),vbCrLf, "<br>")

og evt. noget mere...
MEN.... HVOR skal man indsætte denne kodelinie henne i dokumentet???

Sikkert et dumt spørgsmål, men jeg vil gerne ha det slået helt fast...
:o)
Tak
Avatar billede eagleeye Praktikant
22. februar 2003 - 12:58 #1
Du skal bruge functionen replace.

Du skal gøre det hvor du vil udskrive dit flet rs("felt") hvis du idag har en linie som denne som udskriver:

Response.write rs("felt")

Laver du den om til:

Response.write replace(rs("felt"), vbCrLf, "<br>")
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:02 #2
eagleeye,
tak for din kvikke respons...!

Jeg har prøvet at indsætte koden men den gør ikk andet end, at den udskriver koden i hvert eneste tilfælde af gentagelse (i min repeat region...)

Hmm... ska vist ha dette ind med skeer... *suk*
Avatar billede eagleeye Praktikant
22. februar 2003 - 13:06 #3
Hvis teksten ikke indeholder nogle returns (vbCrLf) så kan den ikke selv indsætte <br>.
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:09 #4
skal koden sættes ind i den tabel, hvor jeg har indsat resultatet af min query eller skal den indsættes andet steds i dokumentet, så den evt. dækker alle forekomster af databaseindhold med linieskift???

Taler vi forbi hinanden?
Avatar billede eagleeye Praktikant
22. februar 2003 - 13:10 #5
Ja det er muligt. Kan du vise lidt kode hvor du bruger det?
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:11 #6
Naturligvis indsætter den ikke <br> uden noget der gør det, men disse returns (vbCrlf), bliver de ikke genereret når du laver linieskift (taster ENTER) i forb. med udfyldelse af databasetabellen?
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:12 #7
hmm - bliver desværre lidt svært da koden ligger på min bærbare - har ikk lige den on-line pt.
Sorry...
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:14 #8
Men... når jeg sætter den til at vise kildekoden på siden, ER de korrekte linieskift der - blot ikke i browseren...
Avatar billede eagleeye Praktikant
22. februar 2003 - 13:14 #9
Ok. Helt iorden.

Jo vbCrLf kommer af return-tasten så de skulle være i teksten. Hvis du har mulighed kan du prøve at copy/patse fra databasen og ind i notepad, hvis der er linieskift i notepad er de i teksten.
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:16 #10
hang on 4 a sec...
prøver lige!
Avatar billede eagleeye Praktikant
22. februar 2003 - 13:16 #11
Når ja det er også en mulighed.
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:17 #12
Det ER vist med linieskift de rigtige steder...
Avatar billede eagleeye Praktikant
22. februar 2003 - 13:19 #13
Måske der kun er en vbCr prøv lige med:

replace(rs("felt"), vbCr, "<br>")
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:21 #14
ja ja, vil gerne, men.... hvorhenne???
(Shit, hvor er jeg torske..., hva?)
*G*
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:22 #15
det er i øvrigt DW MX jeg bruger som editor - har blot ikke meget erfaring med dyn. sites endnu...
Avatar billede eagleeye Praktikant
22. februar 2003 - 13:24 #16
I stedet for denne:

Response.write replace(rs("felt"), vbCrLf, "<br>")

Så:

Response.write replace(rs("felt"), vbCr, "<br>")

Forskellen er at vbCrLf er en konstant som både er Carriage return (Cr) og Line feed (Lf), vbCr er kun Carriage return.
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:28 #17
Okay, det er jeg glad for du fortæller mig.
Problemet er blot, at jeg nu har nærlæst HELE koden på siden (i editoren!) og der står intet om Response.Write..... etc. nogen steder...

Jeg vil blot gerne vide, hvorhenne i koden denne linie skal indsættes, for at det virker...
Avatar billede eagleeye Praktikant
22. februar 2003 - 13:30 #18
Den skal indsætte det sked hvor du udskriver teksten eller lige umiddelbart før teksten udskrives.
Det kan også se sådan her ud:

<%=rs("felt")%>
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:31 #19
Har du opgivet mig?
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:34 #20
Eagleeye,
jeg er vist lidt lost her... ka du vise et eksempel?
Avatar billede eagleeye Praktikant
22. februar 2003 - 13:34 #21
Nej, men jeg kender ikke noget til DW MX.

Hvis man har en tekst:
str = "Hej med dig"

Så kan man udskrive den på to måder:
1.:  Response.write str
2.:  <%=str%>
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:41 #22
prøver lige at fange noget kode til dig...
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:45 #23
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/Connectionnoget.asp" -->
<%
Dim forretteroghovedretter
Dim forretteroghovedretter_numRows

Set forretteroghovedretter = Server.CreateObject("ADODB.Recordset")
forretteroghovedretter.ActiveConnection = MM_Connectionnoget_STRING
forretteroghovedretter.Source = "SELECT * FROM [forretter og hovedretter]"
forretteroghovedretter.CursorType = 0
forretteroghovedretter.CursorLocation = 2
forretteroghovedretter.LockType = 1
forretteroghovedretter.Open()

forretteroghovedretter_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
forretteroghovedretter_numRows = forretteroghovedretter_numRows + Repeat1__numRows
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link href="fhnystyle.css" rel="stylesheet" type="text/css">
</head>

<body>
<p><span class="overskrift0">Forretter og Hovedretter</span> </p>
<%
While ((Repeat1__numRows <> 0) AND (NOT forretteroghovedretter.EOF))
%>
<table width="400"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="60" valign="top" class="broedtxt"><%=(forretteroghovedretter.Fields.Item("varenr").Value)%></td>
    <td width="300" align="left" valign="top"><span class="overskrift1"><%=(forretteroghovedretter.Fields.Item("varenavn").Value)%></span><br>
      <span class="broedtxt"><%=(forretteroghovedretter.Fields.Item("varebeskrivelse").Value)%></span>
    </td>
    <td width="20" align="right" valign="bottom" class="broedtxt">Kr.</td>
    <td width="40" align="right" valign="bottom" class="broedtxt"><%= FormatNumber((forretteroghovedretter.Fields.Item("pris").Value), 2, -2, -2, -2) %></td>
  </tr>
  <tr>
    <td colspan="4" valign="top" class="broedtxt"><hr align="center" noshade></td>
  </tr>
</table>
<%
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  forretteroghovedretter.MoveNext()
Wend
%>
</body>
</html>
<%
forretteroghovedretter.Close()
Set forretteroghovedretter = Nothing
%>
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:47 #24
her er koden som den står skrevet i asp filen - så mangler jeg blot at finde ud af jvor linien skal indsættes...

Der hvor jeg har behov for linieskiftene er i denne linie:

<span class="broedtxt"><%=(forretteroghovedretter.Fields.Item("varebeskrivelse").Value)%></span>
Avatar billede eagleeye Praktikant
22. februar 2003 - 13:48 #25
Ok dit recordset hedder forretteroghovedretter.

eksvis her udskrives kolonnen varebeskrivelse fra recordsetet:

<%=(forretteroghovedretter.Fields.Item("varebeskrivelse").Value)%>
Avatar billede eagleeye Praktikant
22. februar 2003 - 13:49 #26
:) Så sætter du bare replace omkring sådan her:

<%=replace(forretteroghovedretter.Fields.Item("varebeskrivelse").Value, vbCrLf, "<br>")%>
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:50 #27
nemlig!
og i forhold til denne linie, hvor skal så din kodelinie indsættes for at det virker?
Avatar billede eagleeye Praktikant
22. februar 2003 - 13:50 #28
Dette er måske den meste rigtige måde at skrive det på når man skal hendte data fra en kolonne
forretteroghovedretter.Fields.Item("varebeskrivelse").Value

men det er det samme som:
forretteroghovedretter("varebeskrivelse")
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:51 #29
prøver lige
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:54 #30
den siger "Null er brugt ugyldigt: 'replace'"... når jeg tester i browseren
Avatar billede eagleeye Praktikant
22. februar 2003 - 13:55 #31
Det kunne tyde på at varebeskrivelse er tom, prøv at tilføje "" & før recordsetet så den laver Null til en tom linie:

<%=replace("" & forretteroghovedretter.Fields.Item("varebeskrivelse").Value, vbCrLf, "<br>")%>
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:57 #32
varebeskrivelsen er ikke tom, da den fungerede lige før jeg indsatte den replace-kommando, men okay - prøver lige
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:58 #33
DET virkede!
Du er dagens mand i guldkareten, Eagleeye!
Avatar billede lars_d Nybegynder
22. februar 2003 - 13:59 #34
Du skal have mange tak for hjælpen - har bøvlet med det her i et par dage 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