Avatar billede peterpeter Seniormester
05. april 2002 - 15:56 Der er 13 kommentarer og
1 løsning

html TABEL koder i en Access celle -> Problemer

Jeg har lavet en form hvor jeg kan indtaste tekst til en database, og derefter få det vist i browseren.
Dette fungerer også meget fint, undtagen hvis jeg anvender HTML koder for en tabel - så laver den automatisk et par blanke linier inden teksten starter

Forklaring:
Indholdet i cellen er f.eks:
<table style=font-size:12px;><tr><td>Ryle Sørensen</td><td>ved 90 års jubilæet</td></tr>
<tr><td>Lars H. Sørensen</td><td>ved 90 års jubilæet</td></tr>
<tr><td>Aagaard Larsen</td><td>ved 90 års jubilæet</td></tr>
<tr><td>Ole Steen</td><td>1988, generalforsamlingen</td></tr>
<tr><td>Børge Rask Olsen</td><td>1994, generalforsamlingen</td></tr>
<tr><td>Hans Asmussen</td><td>1998, generalforsamlingen</td></tr>
</table>

Når det så bliver vist, er der mange blanke linier inden teksten starter:

Eksempel kan ses på: www.asgi.dk under
Historie - Æres priser

På forhånd tak for hjælpen.

Peter
Avatar billede webben Nybegynder
05. april 2002 - 17:21 #1
Hvis det er brugeren som har indtastet det kan det lade sig gøre at undgå det med htmlencode... simpelt nok, du opretter bare en variable hvori du udtrækker med dit recordset fra databasen inde i htmlencode, og derefter udskriver du bare din variable...

variablen skal se nogen lunde sådan her ud:

TextHTML = Replace(Server.HTMLEncode(strText), vbCrLf, "<br>")

God fornøjelse
Avatar billede peterpeter Seniormester
05. april 2002 - 17:29 #2
HTMLENCODE ???
Variabler og recordset ??

Øh, lidt mere for wannebee'ss !!

Tak

Med Venilg Hilsen
Peter
Avatar billede delle29 Nybegynder
05. april 2002 - 17:34 #3
prøv med det her :


Det her står i tabellen på hjemmesiden hvor det du henter skal stå.
<%

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
Conn.Open DSN


strSQL = "Select * from TabelMedÆresMedlemmer"
Set rs = Conn.Execute(strSQL)

Do

  Response.Write rs("navnecelle") & " " & rs("jublæumcelle") & "<br>"

  rs.MoveNext

Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>

Hvis du så vil lave lidt om på skrifttyper eller lign. så skifter du bare Response.Write linien ud med, denne her :

strMedlemmer = "<font face=Arial size=2>" & rs("navnecelle") & " " & rs("jubilæumscelle") & "</font>"

Response.Write
  Response.Write " & strLink & "

Hvis du hellere vil lave det med htmltabeller som du allerede har gjort skal det gøres sådan her :

strMedlemmer = "<tr><td bgcolor=#CCCC99><font face=Arial size=1>" & rs("Navnecelle") & " " & rs("Jubilæumscelle") & "</font></td></tr>"   

Response.Write " & strMedlemmer & "


Kan du komme med flere måder kan det også nemt lade sig gøre, bare skriv hvad du vil ha'.

Prøv med det her
Avatar billede peterpeter Seniormester
05. april 2002 - 22:56 #4
Jeg prøver.......

Tak
Avatar billede peterpeter Seniormester
05. april 2002 - 23:12 #5
Tak skal du have Delle29, men jeg er ikke helt sikker på at jeg har forklaret mig ordentligt:
1.
Jeg har en form for artikeleditor, hvor jeg kan indtaste en masse artikler. I denne indtaster jeg en overskrift og et indhold. Det er så disse celler jeg kalder, på de forskellige sider. (se min side)
2.
Alt dette har fungeret fint - skal jeg have noget med fed laver jeg en <b> og så videre.....ingen problemer.
3.
Men på et tidspunkt skulle jeg indtaste noget tekst, der skulle stå i to lige kolonner, og så mente jeg, at det eneste måde jeg kunne gøre, var lige at lave en tabel med usynlige kanter !!
4.
Det gjorde jeg så (se tidligere kode) og det fungerer i princippet også OK, hvis det ikke lige var fordi, at der lige går 4-5 linier, før teksten kommer.

Jeg vil gerne vedlægge fil indholdet hvis det kan hjælpe ??

På forhånd tak for hjælpen

Peter
Avatar billede delle29 Nybegynder
06. april 2002 - 11:18 #6
Hvis den stadig gør det der med de mange linier så prøv med det her :

Det her skulle gerne få teksten op i venstre hjørne af rammen.

udskift linien med strMedlemmer med denne her:

strMedlemmer = "<tr><td valign=top align=left><font face=Arial size=1>" & rs("Navnecelle") & " " & rs("Jubilæumscelle") & "</font></td></tr>"
Avatar billede peterpeter Seniormester
06. april 2002 - 12:40 #7
Jeg er ikke helt sikker på jeg forstår, hvor mit problem løses, men jeg prøver lige........

Peter
Avatar billede delle29 Nybegynder
06. april 2002 - 13:48 #8
Så prøver vi på en helt anden måde
I stedet for at sættet strengen ind i rammen i hjemmesiden gør du sådan her :

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
Conn.Open DSN


strSQL = "Select * from TabelMedÆresMedlemmer"
Set rs = Conn.Execute(strSQL)

Do

  strNavn = rs("Navnecelle")
  strJubilaeum = rs("Jubilæumscelle")
 
  strTekst = strTekst & "<tr><td>" & strNavn & "</td>"
  strTekst = strTekst & "<td>" & strJubilaeum & "</td></tr>
  rs.MoveNext

Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing


Du fjerner rammen hvor teksten skal stå og sætter i stedet denne lille aspkode ind :
<%=strAeresmedlemmer%>


Og de specifike ting du har i rammen såsom baggrundsfarven, bredde, højde osv. dem sætter du bare ind i strengen strTekst, ikk'.

Håber at jeg har forstået dit problem.
Avatar billede delle29 Nybegynder
06. april 2002 - 17:40 #9
Jeg retter lige en lille fejl

Det skal ikke være <%=strAeresmedlemmer%> , men selvfølgelig <%=strTekst%>.

Har du prøvet ?
Avatar billede peterpeter Seniormester
06. april 2002 - 23:45 #10
Tak for dit svar Delle29, jeg prøver lige......

Peter
Avatar billede peterpeter Seniormester
09. april 2002 - 22:06 #11
Hej Delle29 - Jeg prøver, men jeg kan ikke få det skidt til at virke....

Er du helt sikker på, at det løser lige præcist mit skitserede behov ??

Tak

Peter
Avatar billede delle29 Nybegynder
10. april 2002 - 15:03 #12
virker det ?
Avatar billede eagleeye Praktikant
10. april 2002 - 18:20 #13
Jeg har prøvet at kikke på www.asgi.dk og kan følgende HTML kode (kun udsnit):

  <table style=font-size:12px;>
  <tr><td>Ryle Sørensen</td>
      <td>ved 90 års jubilæet</td>
  </tr><BR>
  <tr><td>Lars H. Sørensen</td>
      <td>ved 90 års jubilæet</td></tr><BR>
  <tr><td>Aagaard Larsen</td>
      <td>ved 90 års jubilæet</td></tr><BR>

Grunden til du får et tomt felt i toppen er fordi der er kommet <BR> ind efter hver </tr>. Når man skriver tekst udne for en række/celle ruger det af en eller anden grun altid op foran den første række i tabellen.

Hvis de kommer fra indtasningen skal du fjerne dem npr man udskriver eller sikre at man ikke får lavet vbCrLF om til <br> alle steder. Jeg går ud fra at du har noget som konverter vbCrLf til <br> inden du skriver ud for at være sikker på at du får linie skift hvis du i teksten har trykke på return. Når man så indtaster og efter </tr> så trykker på return så vil det return også bliver til <br>. Håber du forstår...

Så ved indtastning skal man benytte <br> som return og return er kun for synets skyld og ikke kosmetisk.
Avatar billede eagleeye Praktikant
09. juni 2002 - 01:34 #14
Der samme gælder nede ved  "Foreningslederpokalen" der er også et par steder der er kommet et <br> ind...
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