Avatar billede vange_inet Nybegynder
11. april 2000 - 20:51 Der er 10 kommentarer og
1 løsning

Data fra DB i <TEXTAREA>

Jeg vil gemme et TEXTAREA i Access og hente dataene igen. Men når jeg henter dataene er ENTER/CR forsvundet og hele teksten står på en linie.

Spørgsmål:
1. Skal jeg gøre noget specielt når jeg gemmer?
2. Skal jeg gøre noget specielt når jeg henter dataene? (Nu benytter jeg blot =rs(etFelt"))
Avatar billede kornfreak Nybegynder
11. april 2000 - 21:31 #1
(har haft samme prob) Følger med...... :o)
Avatar billede phylox2 Nybegynder
11. april 2000 - 21:41 #2
1. Du skal ikke gøre noget specielt, når du gemmer, så længe, at det er linieskift med i dit notatfelt i Access databasen (marker feltet og tryk CHIFT+F2 for at se det)

2. Du skal derimod gøre noget, når du henter

Lav en ny variabel

Tekst = replace(RS("Tekst"),vbCrLf,"<br>")

og kald variablen i stedet for RS("Tekst")

Response.Write Tekst

Så skriver den teksten, du henter fra notatfeltet med linieskift
Avatar billede vange_inet Nybegynder
12. april 2000 - 09:24 #3
Det virker ikke.

For det første: Når jeg benytter SHIFT+F2 i Access er der ingen CrLf i feltet (selv om jeg indtastede det).

For det andet: For at lave CrLf i TEXTAREA kan jeg kun få det til at virke, hvis jeg benytter Replace(RS("Tekst"),"tilfældigtTegn",chr(13)). Mit DB-Felt indeholder ingen CrLf, så det virker kun hvis jeg bruger et tilfældigt tegn.

Avatar billede phylox2 Nybegynder
12. april 2000 - 10:04 #4
Feltet i Access skal heller ikke indeholde vbCrLf

Det skal stå f.eks.


---------------------------
Nyheder

Idag er der nogle, der ....
Og desuden

Nyhedsredaktionen
Per Pallesen
---------------------------

Bare så man kan se, at den skifter linie

DU SKAL IKKE SKRIVE NOGET I TEXTAREAet - du skal bare skrive som du gør her på Eksperten! :)

Det virker hos mig ..........

Skriv scriptet ud her, så skal jeg rette det til
Avatar billede vange_inet Nybegynder
12. april 2000 - 10:30 #5
Jeg skriver ingen specialtegn i TEXTAREAet (<br> eller chr(13)) - det ved jeg godt ikke hjælper noget.

Jeg har ikke scriptsene her på arbejde, men jeg kan huske dem (undtagen korrekt syntaks).

Til at gemme alle min form-felter benytter jeg nedenstående script (inspireret fra bogen "ASP Unleashed"):

dbSql = "INSERT INTO tabel"
FOR EACH variabel IN FORM
  dbSql = dbSql & request.form(variabel) & ","
NEXT

Jeg henter med nedenstående script:
<TEXTAREA row="10" bla..><%=replace(dbRs("tekst"), vbCrLf, chr(13))</TEXTAREA>

I Access (SHIFT+F2) vises det indtastede på en linie og ikke som jeg indtastede det - og det er et MEMO-felt. Jeg bruger DSN-less db-forbindelse.
Avatar billede vange_inet Nybegynder
12. april 2000 - 10:33 #6
Jeg har også prøvet med
Replace(dbRs("tekst"), vbCrLf, "<br>)

Det tyderpå, det går galt, når jeg gemmer.
Avatar billede phylox2 Nybegynder
12. april 2000 - 14:14 #7
Har du lavet den nye variabel ??

Tekst = Replace(dbRs("tekst"), vbCrLf, "<br>")

Avatar billede vange_inet Nybegynder
12. april 2000 - 14:20 #8
Nej, jeg har ikke lavet en ny variabel. Jeg smider det direkte ind i TEXTAREA, som vist ovenfor:
<TEXTAREA row="10" bla..><%=replace(dbRs("tekst"), vbCrLf, chr(13))</TEXTAREA>

Behøves jeg en variabel for at gøre det? Jeg har også prøvet med:
<TEXTAREA row="10" bla..><%response.write(replace(dbRs("tekst")), vbCrLf, chr(13))</TEXTAREA>
Avatar billede vange_inet Nybegynder
20. april 2000 - 10:29 #9
Jeg har prøvet forfra med en ny database, og nu virker det - uden brug af voodo (= Replace)! Felterne står nu også korrekt i Access.

Tak for forslagene.
Avatar billede phylox2 Nybegynder
20. april 2000 - 11:03 #10
og pointsne ;)
Avatar billede phylox2 Nybegynder
25. april 2000 - 14:25 #11
Takker mange gange ! :)
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