Avatar billede nettet Nybegynder
20. november 2000 - 16:38 Der er 9 kommentarer og
1 løsning

Response.write og flere linier tekst

Jeg har en accessdb som jeg skal have gjort søgbar på nettet.
Mit problem er nu, at et af felterne i min access-tabel er et notatfelt (feltet hedder indhold), hvori der indgår flere linier tekst. I access-tabellen vises indeholdet af dette felt ved en enkelt post f.eks. således:

1. hansen, peter
2. jensen, jørgen osv.

mens det på nettet ser således ud:

1. hansen, peter 2. jensen, jørgen

Min response write ser sådan ud:
Response.Write \"<tr><th><b>Indhold:  </b></th></tr><br>\"
Response.Write \"<font color=#FFFFFF><b>\" & rs(\"Indhold\") & \"</font><br>\"

Hvordan skal min response.write se ud, hvis indhold-feltet på nettet, skal se ud som i access-tabellen?
Avatar billede jschroll Nybegynder
20. november 2000 - 16:42 #1
Du skal erstatte enter tastetrykkene med htmltagget: <br>

Sådan her:

Response.Write \"<font color=#FFFFFF><b>\" & replace(rs(\"Indhold\"),chr(10),\"<br>\") & \"</font><br>\" 

Avatar billede tdaugaard Nybegynder
20. november 2000 - 16:48 #2
jschroll:> du skal bruger vbCrLf og ikke Chr(10)

Response.Write \"<font color=#FFFFFF><b>\" & Replace(rs(\"Indhold\"), vbCrLf, \"<br>\") & \"</font><br>\" 
Avatar billede jschroll Nybegynder
20. november 2000 - 16:51 #3
Hvorfor?
Avatar billede tdaugaard Nybegynder
20. november 2000 - 16:53 #4
Fordi:

vbCrLf = vbCr & vbLf
vbCr = Chr(13) \' Carrige return
vbLf = Chr(10) \' Line feed

i Windows består et line-break af både carrrige-return & linefeed. På Unix systemer består det derimod kun af et linefeed.
Avatar billede 2fyrefrabrande Nybegynder
20. november 2000 - 17:49 #5
Ya\'ll!

Hvis du kører ovenstående af, kan du få en fejl hvis rs(\"indhold\") er tomt.

Tjek om den er tom inden du bruger replace() :
if rs(\"indhold\") <> \"\" then
  Response.Write \"<font color=#FFFFFF><b>\" & Replace(rs(\"Indhold\"), vbCrLf, \"<br>\") & \"</font><br>\" 
end if

Keepin it\'real...

2fyrefrabrande
Avatar billede tdaugaard Nybegynder
20. november 2000 - 19:13 #6
2fyrefrabrande:>

Now look \"guys\".

Replace() HAR & VIL aldrig give fejl på en tom input streng! (har lige testet!)

Left(), Right() & Mid() giver derimod fejl!
Avatar billede 2fyrefrabrande Nybegynder
20. november 2000 - 20:50 #7
I huset.....

Har lige testet:
replace() giver fejl på en null-værdi - og har altid gjort det.

Microsoft VBScript runtime error \'800a005e\'

Invalid use of Null: \'replace\'

/Index.asp, line 17

line 17:
Response.Write(replace(objRS(\"content_body\"), vbcrlf, \"<br>\"))

\'[objRS(\"content_body\")] er NULL på SQL server db.

Taggin\' them tags....

2fyrefrabrande
Avatar billede sone Nybegynder
21. november 2000 - 07:40 #8
Mht. Replace og Null, så kan man snyde Replace ved at tilføje den tomme streng til variablen som kan være Null:

Response.Write(replace(\"\" & objRS(\"content_body\"), vbcrlf, \"<br>\"))
Avatar billede nettet Nybegynder
21. november 2000 - 08:44 #9
Jer har nu testet forslagene igennem, og som 2fyrefrabrande skriver, giver tdaugaards forslag fejl, når indholds-feltet er tomt.

Derimod ser 2fyrefrabrandes forslag ud til at virke.
Avatar billede tdaugaard Nybegynder
21. november 2000 - 08:46 #10
Til gengæld er sone\'s svar mindre kode .. og pænere at se på . men nok om det.
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