|
| Linjeskift i "notat" Fra : Martin Helbo |
Dato : 16-03-02 16:18 |
|
Jeg har et textarea der indsætter data i et notat i en access database. Men
hvordan kan jeg få den til at registrere tvungen linjeskift? Når jeg viser
indholdet på en asp side står teksten ud i et uden linjeskift.
--
/Martin Helbo
| |
Jesper Stocholm (16-03-2002)
| Kommentar Fra : Jesper Stocholm |
Dato : 16-03-02 16:26 |
|
Martin Helbo wrote in dk.edb.internet.webdesign.serverside.asp:
> Jeg har et textarea der indsætter data i et notat i en access database. Men
> hvordan kan jeg få den til at registrere tvungen linjeskift? Når jeg viser
> indholdet på en asp side står teksten ud i et uden linjeskift.
>
<% = replace(rs("NOTAT FELT"),VbCrLf,"<br>") %>
/Jesper Stocholm
--
KONKURRENCE PÅ HTML.dk:
fortæl hvordan din drømmeeditor ser ud
og vind luksus webhoteller fra Wannafind
KLIK HER! => http://www.html.dk/editor
| |
Jørn Andersen (16-03-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 16-03-02 16:36 |
|
On Sat, 16 Mar 2002 15:25:41 +0000 (UTC), Jesper Stocholm
<spam200203@stocholm.dk> wrote:
>> Jeg har et textarea der indsætter data i et notat i en access database. Men
>> hvordan kan jeg få den til at registrere tvungen linjeskift? Når jeg viser
>> indholdet på en asp side står teksten ud i et uden linjeskift.
>>
>
><% = replace(rs("NOTAT FELT"),VbCrLf,"<br>") %>
Må jeg foreslå:
Replace(rs("NOTAT FELT"), VbCrLf, "<br>" & VbCrLf)
- det gør HTML'en lettere at læse :)
Mvh. Jørn
--
Jørn Andersen,
Brønshøj
| |
Martin Helbo (16-03-2002)
| Kommentar Fra : Martin Helbo |
Dato : 16-03-02 18:14 |
|
> ><% = replace(rs("NOTAT FELT"),VbCrLf,"<br>") %>
>
> Må jeg foreslå:
>
> Replace(rs("NOTAT FELT"), VbCrLf, "<br>" & VbCrLf)
>
> - det gør HTML'en lettere at læse :)
>
Tak for svarene, nu er jeg ikke den store asp haj, så hvis i vil forklare
lidt nærmere om hvor i koden linjen skal sættes ind vil det hjælpe en del.
Det skal lige siges at jeg bruger Ultra Dev
/Martin Helbo
| |
Jakob Møbjerg Nielse~ (16-03-2002)
| Kommentar Fra : Jakob Møbjerg Nielse~ |
Dato : 16-03-02 22:58 |
|
> > Replace(rs("NOTAT FELT"), VbCrLf, "<br>" & VbCrLf)
>
> Tak for svarene, nu er jeg ikke den store asp haj, så
> hvis i vil forklare lidt nærmere om hvor i koden linjen
> skal sættes ind vil det hjælpe en del. Det skal lige
> siges at jeg bruger Ultra Dev
---
tekst = Replace(rs("NOTAT FELT"), VbCrLf, "<br>" & VbCrLf
---
Den ovenstående kode gemmer det der skal sendes, i HTML, i variablen
"tekst". Du kan så skrive den ud med:
Response.write(tekst)
Jeg ville nok gemme "tekst" i database, og bare skrive notatet ud med
Response.write(rs("NOTAT FELT"))
På den måde sparer man computeren for at køre Replace() hver gang der
skal vises et notat.
--
Jakob Møbjerg Nielsen
jakob@dataloger.dk
"Hey! He reminds me of someone who looks just like him. - Me"
| |
Jørn Andersen (17-03-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 17-03-02 00:43 |
|
On Sat, 16 Mar 2002 22:58:18 +0100, "Jakob Møbjerg Nielsen"
<vitz@cs.auc.dk> wrote:
>tekst = Replace(rs("NOTAT FELT"), VbCrLf, "<br>" & VbCrLf)
>---
>Den ovenstående kode gemmer det der skal sendes, i HTML, i variablen
>"tekst". Du kan så skrive den ud med:
>
>Response.write(tekst)
>
>Jeg ville nok gemme "tekst" i database, og bare skrive notatet ud med
>
>Response.write(rs("NOTAT FELT"))
>
>På den måde sparer man computeren for at køre Replace() hver gang der
>skal vises et notat.
Det synes jeg *normalt* vil være en dårlig idé, da man så samtidig har
bundet sig til, at indholdet skal bruges til HTML.
Hvis man *ved* at det kun i al fremtid skal bruges til HTML er det
selvfølgelig OK - men overvej lige en ekstra gang.
Mvh. Jørn
--
Jørn Andersen,
Brønshøj
| |
Jakob Møbjerg Nielse~ (17-03-2002)
| Kommentar Fra : Jakob Møbjerg Nielse~ |
Dato : 17-03-02 11:23 |
|
> Det synes jeg *normalt* vil være en dårlig idé, da man så
> samtidig har bundet sig til, at indholdet skal bruges til
> HTML.
> Hvis man *ved* at det kun i al fremtid skal bruges til HTML
> er det selvfølgelig OK - men overvej lige en ekstra gang.
Klart. Men hvis den uforudsigelige situation opstår, vil det ikke tage
meget mere en 10 minutter at skrive et script der gør det om igen og
opdaterer DB'en.
--
Jakob Møbjerg Nielsen
jakob@dataloger.dk
"Hey! He reminds me of someone who looks just like him. - Me"
| |
Martin Helbo (17-03-2002)
| Kommentar Fra : Martin Helbo |
Dato : 17-03-02 15:00 |
|
Jeg takker for de meget uddybende svar.
/Martin Helbo
| |
Jørn Andersen (17-03-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 17-03-02 15:16 |
|
On Sun, 17 Mar 2002 14:59:32 +0100, "Martin Helbo" <helbo@thedude.dk>
wrote:
>Jeg takker for de meget uddybende svar.
Jeg tror der gik sport i det efterhånden :)
Mvh. Jørn
| |
Martin Helbo (17-03-2002)
| Kommentar Fra : Martin Helbo |
Dato : 17-03-02 19:10 |
|
> >Jeg takker for de meget uddybende svar.
>
> Jeg tror der gik sport i det efterhånden :)
Så er det jo det bliver sjovt. Det var i hvert fald lærerigt.
/Martin Helbo
| |
Jesper Stocholm (17-03-2002)
| Kommentar Fra : Jesper Stocholm |
Dato : 17-03-02 19:43 |
|
Jakob Møbjerg Nielsen wrote in news:a71qnh$pes$1@sunsite.dk:
>> Det synes jeg *normalt* vil være en dårlig idé, da man så
>> samtidig har bundet sig til, at indholdet skal bruges til
>> HTML.
>> Hvis man *ved* at det kun i al fremtid skal bruges til HTML
>> er det selvfølgelig OK - men overvej lige en ekstra gang.
>
> Klart. Men hvis den uforudsigelige situation opstår, vil det ikke tage
> meget mere en 10 minutter at skrive et script der gør det om igen og
> opdaterer DB'en.
>
problemet er jo, at det er et skråplan at bevæge sig ind på. Hvad så
næste gang man vil lavet et hack ... og næste ... og næste ... ? Du kan
potentielt ende med meget dårlig kode, der i begyndelsen var pæn og ren.
Der er jo masser af eksempler på, at det kan gå godt - men det kan altså
også være en dyrekøbt erfaring.
Dette kunne være:
1. Gem danske karakterer som HTML-koder
2. Gem linieskift som "<br>"
3. Gemme kursiv skrift som <i>...</i>
4. ...
5. ...
Pludselig vil du så gerne lave fx et .DOC-dokument ud af det vha fx XSLT
.... eller et PDF-dokument, PS-dokument eller lignende. Nu er det
pludselig ikke længere en simpel opgave at "kode tilbage". Hvis du så
også er spunget over hvor gærdet er lavest på klientsiden med fx
(proprietære) teknologi-specifikke detaljer, så er det ikke længere
noget, der kan ordnes på en time ... og tro mig ... man sidder og har
lyst til at slå hovedet ned i bordet, når man skal bruge et par timer på
at tilbagekode et par hacks, der hver tog 10 minutter at lave :( Et helt
andet problem er jo også, at du nemt kommer til at have kode, der er
afhængigt af dette hack - og så skal den pludselig også rettes ... :(
--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|
| |
Jakob Møbjerg Nielse~ (17-03-2002)
| Kommentar Fra : Jakob Møbjerg Nielse~ |
Dato : 17-03-02 21:10 |
|
> problemet er jo, at det er et skråplan at bevæge sig ind på.
[klip - problemet accelererer]
Ja, selvfølgelig. Jeg vil dog ikke kalde det et hack hvis man er sikker
på at teksten kun skal bruges på hjemmesiden. Det var også derfor jeg
brugte ordene "den uforudsigelige situation". Det er muligt at tage
højde for næsten enhver situation, men så er man også helt derude hvor
man har gang i noget der ligner et framework, og der er det meget svært
at prioritere både effektivitet og fleksibilitet højt. Så må man vælge
hvis det bliver et problem.
--
Jakob Møbjerg Nielsen
jakob@dataloger.dk
"Hey! He reminds me of someone who looks just like him. - Me"
| |
Jakob Andersen (17-03-2002)
| Kommentar Fra : Jakob Andersen |
Dato : 17-03-02 00:34 |
|
"Jørn Andersen" <jorn@jorna.dk> wrote in message
news:bfp69u8a1sn2tk5ed4hq9dq87r43k0k2u4@4ax.com...
> Må jeg foreslå:
> Replace(rs("NOTAT FELT"), VbCrLf, "<br>" & VbCrLf)
> - det gør HTML'en lettere at læse :)
Må jeg så foreslå
<%
If rs( "NOTAT FELT" ) <> "" Then
Response.Write( Replace( rs( "NOTAT FELT" ), vbcrlf, "<br>" & vbcrlf ) )
End if
%>
Så slipper man får fejl hvis rs( "NOTAT FELT" ) er tom.
--
Jakob Andersen
| |
Torben Brandt (17-03-2002)
| Kommentar Fra : Torben Brandt |
Dato : 17-03-02 01:20 |
|
Jakob Andersen <jakob@effectus.dk> skrev:
> "Jørn Andersen" <jorn@jorna.dk> wrote in message
> news:bfp69u8a1sn2tk5ed4hq9dq87r43k0k2u4@4ax.com...
> > Må jeg foreslå:
> > Replace(rs("NOTAT FELT"), VbCrLf, "<br>" & VbCrLf)
> > - det gør HTML'en lettere at læse :)
>
> Må jeg så foreslå
>
> <%
> If rs( "NOTAT FELT" ) <> "" Then
> Response.Write( Replace( rs( "NOTAT FELT" ), vbcrlf, "<br>" &
> vbcrlf ) )
> End if
> %>
>
> Så slipper man får fejl hvis rs( "NOTAT FELT" ) er tom.
Jeg ved ikke om det er sådan generelt, men jeg har været udefor med en
Access-database at man kun kan skrive rs( "NOTAT FELT" ) én gang,
hvorefter det er tomt. Det gjalt kun med Notat-felter, men jeg ved
ikke om det evt var andre faktorer det bevirkede det....
I så fald skal man skrive:
<%
felt = rs( "NOTAT FELT" )
If felt <> "" Then
Response.Write( Replace( felt, vbcrlf, "<br>" & vbcrlf ) )
End if
%>
mvh Torben
| |
Jakob Andersen (17-03-2002)
| Kommentar Fra : Jakob Andersen |
Dato : 17-03-02 13:09 |
|
"Torben Brandt" <torben@actuar.dk> wrote in message
news:3c93e112$0$99205$edfadb0f@dspool01.news.tele.dk...
> Jeg ved ikke om det er sådan generelt, men jeg har været udefor med en
> Access-database at man kun kan skrive rs( "NOTAT FELT" ) én gang,
> hvorefter det er tomt. Det gjalt kun med Notat-felter, men jeg ved
> ikke om det evt var andre faktorer det bevirkede det....
Jeg vil gættte på at du ikke havde notatfeltet sidst i din query, man skal
altid have notat og store tekstfelter sidst i SQL queryen.
--
Jakob Andersen
| |
Stuffy (18-03-2002)
| Kommentar Fra : Stuffy |
Dato : 18-03-02 07:46 |
|
> Jeg vil gættte på at du ikke havde notatfeltet sidst i din query, man skal
> altid have notat og store tekstfelter sidst i SQL queryen.
Det har jeg aldrig hørt om før - hvad er fordelen i dette?
Hilsen Jimmy
| |
Jakob Andersen (18-03-2002)
| Kommentar Fra : Jakob Andersen |
Dato : 18-03-02 11:40 |
|
"Stuffy" <abuse@hotmail.com> skrev i en meddelelse
news:o2gl8.7284$ZI6.249905@news000.worldonline.dk...
>"Jakob Andersen" wrote
> > Jeg vil gættte på at du ikke havde notatfeltet sidst i din query, man
skal
> > altid have notat og store tekstfelter sidst i SQL queryen.
> Det har jeg aldrig hørt om før - hvad er fordelen i dette?
< http://support.microsoft.com/default.aspx?scid=kb;EN-US;q175239>
--
Jakob Andersen
| |
Jørn Andersen (17-03-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 17-03-02 01:14 |
|
On Sun, 17 Mar 2002 00:33:40 +0100, "Jakob Andersen"
<jakob@effectus.dk> wrote:
>Må jeg så foreslå
>
><%
>If rs( "NOTAT FELT" ) <> "" Then
> Response.Write( Replace( rs( "NOTAT FELT" ), vbcrlf, "<br>" & vbcrlf ) )
>End if
>%>
>
>Så slipper man får fejl hvis rs( "NOTAT FELT" ) er tom.
Du har fuldstændig ret - den er jeg faktisk dumpet i flere gange, så
jeg burde have husket den ...
Men kriteriet skal nu være:
If Not IsNull(rs("NOTAT FELT")) Then
Replace vil ikke give fejl, hvis der faktisk er tale om en streng "",
men kun hvis feltet har værdien NULL.
Man kan så argumentere, at der ikke er grund til at den skal køre
Replace, hvis strengen er "", men så er vi vist nede i de mere
finurlige detaljer ...
Så mon ikke vi ved fælles anstrengelser kan blive enige om:
<%
If Not IsNull(rs("NOTAT FELT")) Then
If Trim(rs("NOTAT FELT")) <> "" Then
strNotat = Replace(rs("NOTAT FELT"), vbcrlf, "<br>" & vbcrlf))
Else
strNotat = " " ' - hvis det fx skal ud i en tabelcelle
End If
Else
strNotat = " "
End If
Response.Write strNotat
%>
Mvh. Jørn
--
Jørn Andersen,
Brønshøj
| |
Jørn Andersen (17-03-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 17-03-02 01:45 |
|
On Sun, 17 Mar 2002 01:14:21 +0100, Jørn Andersen <jorn@jorna.dk>
wrote:
>Så mon ikke vi ved fælles anstrengelser kan blive enige om:
>
><%
>If Not IsNull(rs("NOTAT FELT")) Then
> If Trim(rs("NOTAT FELT")) <> "" Then
> strNotat = Replace(rs("NOTAT FELT"), vbcrlf, "<br>" & vbcrlf))
> Else
> strNotat = " " ' - hvis det fx skal ud i en tabelcelle
> End If
>Else
> strNotat = " "
>End If
>
>Response.Write strNotat
>
>%>
Og med Torbens korrektion:
<%
strNotat = rs("NOTAT FELT")
If Not IsNull(strNotat) Then
If Trim(strNotat) <> "" Then
strNotat = Replace(strNotat, vbcrlf, "<br>" & vbcrlf))
Else
strNotat = " " ' - hvis det fx skal ud i en tabelcelle
End If
Else
strNotat = " "
End If
Response.Write strNotat
%>
--
Jørn Andersen,
Brønshøj
| |
Jakob Andersen (17-03-2002)
| Kommentar Fra : Jakob Andersen |
Dato : 17-03-02 13:12 |
|
"Jørn Andersen" <jorn@jorna.dk> wrote in message
news:rvm79u8cilre9hru8tatt810533ps6u5b2@4ax.com...
> If Not IsNull(rs("NOTAT FELT")) Then
> If Trim(rs("NOTAT FELT")) <> "" Then
Hvorfor lave det første tjek, hvis feltet er NULL vil det andet tjek ikke
være sandt.
--
Jakob Andersen
| |
Jørn Andersen (17-03-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 17-03-02 15:14 |
|
On Sun, 17 Mar 2002 13:11:40 +0100, "Jakob Andersen"
<jakob@effectus.dk> wrote:
>"Jørn Andersen" <jorn@jorna.dk> wrote in message
>news:rvm79u8cilre9hru8tatt810533ps6u5b2@4ax.com...
>> If Not IsNull(rs("NOTAT FELT")) Then
>> If Trim(rs("NOTAT FELT")) <> "" Then
>
>Hvorfor lave det første tjek, hvis feltet er NULL vil det andet tjek ikke
>være sandt.
Det har du jo ganske ret i - jeg troede egentlig at Trim gav en fejl
ved Null, men der tog jeg fejl, sorry!
Så bliver resulatet også lidt simplere:
<%
strNotat = rs("NOTAT FELT")
If Trim(strNotat) <> "" Then
strNotat = Replace(strNotat, vbcrlf, "<br>" & vbcrlf)
Else
strNotat = " " ' - hvis det fx skal ud i en tabelcelle
End If
Response.Write strNotat
%>
De Null-værdier *er* ret drilske - prøv fx:
a = Null
If a = "" Then
Response.Write "Null = nulstreng"
ElseIf a <> "" Then
Response.Write "Null <> nulstreng"
Else
Response.Write "Null er hverken lig med eller <> nulstreng"
End If
Mvh. Jørn
--
Jørn Andersen,
Brønshøj
| |
Peter Lykkegaard (18-03-2002)
| Kommentar Fra : Peter Lykkegaard |
Dato : 18-03-02 14:50 |
|
"Jørn Andersen" <jorn@jorna.dk> wrote in message
news:75999usmeii41i6hmkdr9pqhmuourc0k6v@4ax.com...
>
> strNotat = rs("NOTAT FELT")
For at tvære lidt i det så kik lige på den her konstruktion
strNotat = rs.Fields.Item("NOTAT FELT").Value & ""
If Len(strNotat) > 0 Then...
mvh/Peter Lykkegaard
| |
Jørn Andersen (18-03-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 18-03-02 18:30 |
|
On Mon, 18 Mar 2002 14:49:55 +0100, "Peter Lykkegaard"
<polonline@hot.mail.com> wrote:
>
>"Jørn Andersen" <jorn@jorna.dk> wrote in message
>news:75999usmeii41i6hmkdr9pqhmuourc0k6v@4ax.com...
>>
>> strNotat = rs("NOTAT FELT")
>
>For at tvære lidt i det så kik lige på den her konstruktion
>
>strNotat = rs.Fields.Item("NOTAT FELT").Value & ""
>If Len(strNotat) > 0 Then...
Fix detalje!
- skal der tværes videre, skal der vel stadig en Trim på:
If Len(Trim(strNotat)) > 0 Then...
PS:
Er der forskel på:
strNotat = rs("NOTAT FELT")
og
strNotat = rs.Fields.Item("NOTAT FELT").Value
- ?
Mvh. Jørn
--
Jørn Andersen,
Brønshøj
| |
Peter Lykkegaard (19-03-2002)
| Kommentar Fra : Peter Lykkegaard |
Dato : 19-03-02 08:40 |
|
"Jørn Andersen" <jorn@jorna.dk> wrote in message
news:cs8c9uoub4ppcgb5ls4okst8j530403n9e@4ax.com...
> PS:
> Er der forskel på:
> strNotat = rs("NOTAT FELT")
> og
> strNotat = rs.Fields.Item("NOTAT FELT").Value
Det er vel i bund et spørgsmål om religion og readability
Jeg har læst forskellige rimelige fornuftige artikler der mener at der giver
lidt performance men ud i marginalerne
Jeg bruger det mest pga readability
mvh/Peter Lykkegaard
| |
|
|