Avatar billede jtc Nybegynder
07. juli 2003 - 19:57 Der er 35 kommentarer og
1 løsning

Udtræk i 2 kolonner

Er der nogen der kan hjælpe mig med at udskrive nogle poster i 2 kolonner som er lige store.
Da det er forskelligt hvor mange poster der er i tabellen i access, er det nok ikke så nemt.

Min kode er som følgende
<%@LANGUAGE="VBSCRIPT"%>

<!--#include file="pokaler_forbindelse.asp" -->

<%
Sql = "Select * From tblUngdomAerespokal"
Set Rs = database.Execute(Sql)
%>

<table border="0" align="center" cellpadding="0" cellspacing="0">
              <tr>
                <td> <div align="left">
                    <table width="100%" border="0" cellpadding="0" cellspacing="0">
                      <tr>
                        <td width="70"><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&Aring;rstal</font></strong></div></td>
                        <td><div align="left"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Navn</font></strong></div></td>
                      </tr>
                    </table>
                    <strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif"></font></strong></div></td>
              </tr>
              <tr>
                <td>
<%
Do While Not Rs.Eof
%>
                <table border="0" cellpadding="0" cellspacing="0">
                    <tr>
                      <td align="center" valign="top" width="70"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= rs("aarstal")%></font></td>
                      <td align="left" valign="top"> <p align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= rs("navn")%></font></td>
                    </tr>
                  </table>
<%
Rs.MoveNext
Loop
%>
                  </td>
              </tr>
            </table>
Avatar billede eagleeye Praktikant
07. juli 2003 - 20:02 #1
Altså så det blvier:

[1][4]
[2][5]
[3][6]

eller:
[1][2]
[3][4]
[5][6]
Avatar billede nmh Nybegynder
07. juli 2003 - 22:27 #2
Du kan erklære en variabel skift som styrer, om der skal skiftes til ny linie eller ej, når en post er udskrevet. Det er således dit forslag 2 til lay-out der realiseres.

Jeg skriver et forslag her omlidt.
Avatar billede nmh Nybegynder
07. juli 2003 - 22:44 #3
Her er det. Men du skal nok pusle noget mere med det.
<% skift=false %>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<%
Do While Not Rs.Eof
%>
                                   
                      <td align="center" valign="top" width="70"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= rs("aarstal")%></font></td>
                      <td align="left" valign="top"> <p align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= rs("navn")%></font></td>
<%if skift then response.write("</tr><tr>")
  skift=not skift
%>
                 
<%
Rs.MoveNext
Loop
%>
</tr>
</table>
Avatar billede jtc Nybegynder
08. juli 2003 - 11:18 #4
nmh>>>Det er muligt dit svar er rigtigt men jeg kan ikke få det til at fungere og desuden vil jeg gerne have den færdige kode
Avatar billede jtc Nybegynder
08. juli 2003 - 11:19 #5
eagleeye>>>Det skal blive
[1][4]
[2][5]
[3][6]

Men vil du ikke også lige kigge på et andet spørgsmål som jeg ikke kan få et svar på????
Please
http://www.eksperten.dk/spm/371376
Avatar billede nmh Nybegynder
08. juli 2003 - 13:24 #6
Det er langt det letteste at benytte den anden rækkefølge, men selvfølgelig kan alt laves. Koden jeg skrev skulle blot være kopieret ind i din kode. Her er den færdige kode:

<%@LANGUAGE="VBSCRIPT"%>

<!--#include file="pokaler_forbindelse.asp" -->

<%
Sql = "Select * From tblUngdomAerespokal"
Set Rs = database.Execute(Sql)
%>

<table border="0" align="center" cellpadding="0" cellspacing="0">
              <tr>
                <td> <div align="left">
                    <table width="100%" border="0" cellpadding="0" cellspacing="0">
                      <tr>
                        <td width="70"><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&Aring;rstal</font></strong></div></td>
                        <td><div align="left"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Navn</font></strong></div></td>
                      </tr>
                    </table>
                    <strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif"></font></strong></div></td>
              </tr>
              <tr>
                <td>
<% skift=false %>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<%
Do While Not Rs.Eof
%>
                                   
                      <td align="center" valign="top" width="70"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= rs("aarstal")%></font></td>
                      <td align="left" valign="top"> <p align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= rs("navn")%></font></td>
<%if skift then response.write("</tr><tr>")
  skift=not skift
%>
                 
<%
Rs.MoveNext
Loop
%>
</tr>
</table>
Avatar billede jtc Nybegynder
08. juli 2003 - 13:41 #7
nmh>>>Ja koden virker, men det var ikke sådan jeg havde tænkt det.

Kan du lave det på den anden måde, så det kommer til at se ud som nedenfor????
[1][4]
[2][5]
[3][6]
Avatar billede nmh Nybegynder
08. juli 2003 - 14:55 #8
Hvor mange poster kan man højst komme ud for?

Problemet med den anden rækkefølge er jo, at man skal "løbe frem og tilbage" i dit record-set rs for at kunne udskrive det.

Løsningsmetoden vil afhænge af hvor store datamængder, der kan komme på tale.
Avatar billede jtc Nybegynder
08. juli 2003 - 15:03 #9
omkring 100 poster
Avatar billede nmh Nybegynder
08. juli 2003 - 15:11 #10
Så er det ikke så svært at lave, men du må ryste op med flere point, og jeg kan se, at du kun har 15 point tilbage.
Avatar billede jtc Nybegynder
08. juli 2003 - 15:44 #11
Du er godt nok krævende men nu har jeg afsat 45 point i alt
Avatar billede nmh Nybegynder
08. juli 2003 - 15:47 #12
Ok, jeg kommer med et forslag (men jeg er nu ikke ret krævende).
Avatar billede jtc Nybegynder
08. juli 2003 - 15:51 #13
Det var nu heller ikke ment som en fornærmelse, nærmere som lidt sjov :-)
Men jeg venter spændt på dig forslag
Avatar billede nmh Nybegynder
08. juli 2003 - 16:18 #14
Her er såkoden. Jeg har ikke haft mulighed for at afprøve den, men jeg er ret sikker på, den vil virke. Hvis ikke så fortæl hvilken fejlmelding, der kom.

<%@LANGUAGE="VBSCRIPT"%>

<!--#include file="pokaler_forbindelse.asp" -->

<%
Sql = "Select * From tblUngdomAerespokal"
Set Rs = database.Execute(Sql)
dim Aar(200), Navne(200)
n=0
Do While Not Rs.Eof
  n=n+1
  Aar(n)=Rs("aarstal")
  Navne(n)=Rs("navn")
  Rs.MoveNext
Loop
if (n\2)*2=n then
  Nrk=n\2
else
  n=n+1
  Aar(n)="":Navne(n)=""
  Nrk=n\2
end if
%>

<table border="0" align="center" cellpadding="0" cellspacing="0">
              <tr>
                <td> <div align="left">
                    <table width="100%" border="0" cellpadding="0" cellspacing="0">
                      <tr>
                        <td width="70"><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&Aring;rstal</font></strong></div></td>
                        <td><div align="left"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Navn</font></strong></div></td>
                      </tr>
                    </table>
                    <strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif"></font></strong></div></td>
              </tr>
              <tr>
                <td>

<table border="0" cellpadding="0" cellspacing="0">
<tr>
<%
for n=1 to Nrk
  for i=n to n+Nrk step Nrk
%>
                                   
                      <td align="center" valign="top" width="70"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= Aar(i)%></font></td>
                      <td align="left" valign="top"> <p align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= Navne(i)%></font></td>

                 
<%
  next
  Response.write("</tr><tr>")
next
%>
</tr>
</table>
Avatar billede jtc Nybegynder
08. juli 2003 - 16:38 #15
Det ser jo meget rigtig ud men hvordan gør jeg sådan der også kommer til at stå Årstal og Navn som kolonneoverskrifter i den 2.kolonne
Avatar billede jtc Nybegynder
08. juli 2003 - 16:38 #16
Og kan man nemt udvide antallet af kolonner????
Avatar billede nmh Nybegynder
08. juli 2003 - 16:59 #17
For at få overskrifter i de to sidste kolonner skal du blot tilføje to ekstra felter i den tabel, hvor du har skrevet overskrifter tidligere.

Man kan godt udvide antallet af kolonner.
Avatar billede nmh Nybegynder
08. juli 2003 - 17:57 #18
Her ser du den stump HTML-kode, der laver din første overskrift. Jeg har indføjet, hvad der skal til for at få overskrift i to søjler mere. (Husk at fjerne linierne med ************.

                  <table width="100%" border="0" cellpadding="0" cellspacing="0">
                      <tr>
                        <td width="70"><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&Aring;rstal</font></strong></div></td>
                        <td><div align="left"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Navn</font></strong></div></td>

*****************skal tilføjes  ******************************
                      <td width="70"><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&Aring;rstal</font></strong></div></td>
                        <td><div align="left"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Navn</font></strong></div></td>
*************************************************************
                      </tr>
                    </table>
Avatar billede jtc Nybegynder
08. juli 2003 - 22:33 #19
Hvordan udvider man så antallet af kolonner????
Avatar billede nmh Nybegynder
08. juli 2003 - 22:44 #20
Bliver du aldrig tilfreds?
Men nu har du da i første omgang fået hvad du bad om. Har du ikke?
Hvis du vil have 3 kolonner skal du tilføje min "stjernetilføjelse" endnu engang, og der skal yderligere laves et par små ændringer i koden, hvor data udskrives.
Nu er antallet af rækker jo ca. antalposer delt med 3.
Avatar billede jtc Nybegynder
08. juli 2003 - 23:01 #21
Jeg er da fuldt tilfreds med dine svar, og har fået hvad jeg har bedt om i første omgang, men der dukker jo som regel nye problemstillinger op undervejs.

Men kan du ikke sige mig hvad der skal ændres hvis antallet at kolonner skal ændres så er jeg helt tilfreds :-)
Avatar billede nmh Nybegynder
08. juli 2003 - 23:40 #22
Det var nu ment spøgende det med tilfredsheden.

Jeg sender om lidt ændringerne hvis du vil have 3 kolonner.
Avatar billede nmh Nybegynder
09. juli 2003 - 00:10 #23
Her er ændringerne så der kommer 3 kolonner.

if (n\2)*2=n then
  Nrk=n\2
else
  n=n+1
  Aar(n)="":Navne(n)=""
  Nrk=n\2
end if

skal nu være:
if (n\3)*3=n then
  Nrk=n\3
else
  Nrk=n\3+1
end if

Linien for i=n to n+Nrk step Nrk skal nu være
for i=n to n+2*Nrk step Nrk

Endelig skal du for at få overskrifter tilføje min "stjernetilføjelse" endnu engang.
Avatar billede nmh Nybegynder
09. juli 2003 - 00:12 #24
Sådan. Hvis du skal have 4 kolonner kan du måske nu selv se systemet i ændringerne ellers hjælper jeg gerne.
Avatar billede jtc Nybegynder
09. juli 2003 - 10:19 #25
Det er da meget nemt når man først lige finder systemet :-)

Men vil du så være så venlig at sige mig, hvordan jeg ændre antallet af kolonner i det første forslag, du kom med?

[1][2]
[3][4]
[5][6]
Avatar billede nmh Nybegynder
09. juli 2003 - 10:44 #26
Så skal den variable skift erstattes af en tæller.
<%skift=false%> skal nu være <%skift=0%>

<%
do while not Rs.Eof
%>
skal nu ændres til
<%
do while not Rs.Eof
  skift=skift+1
%>

<%if skift then response.write("</tr><tr>")
  skift=not skift
%>
skal nu ændres til
<%if skift=3 then response.write("</tr><tr>")
  skift=0
%>

Nu må du da være tiæfreds?
Avatar billede jtc Nybegynder
09. juli 2003 - 10:48 #27
Det virker ikke
Avatar billede jtc Nybegynder
09. juli 2003 - 10:50 #28
Jeg ved ikke hvad der er galt men det ser ud til der kommer 3 rækker med en masse poster i hver

<%skift=0%>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<%
do while not Rs.Eof
  skift=skift+1
%>
                                   
                      <td align="center" valign="top" width="70"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= rs("aarstal")%></font></td>
                      <td align="left" valign="top"> <p align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><%= rs("navn")%></font></td>
<%if skift=3 then response.write("</tr><tr>")
  skift=0
%>
                 
<%
Rs.MoveNext
Loop
%>
Avatar billede nmh Nybegynder
09. juli 2003 - 10:50 #29
Hvad sker der, når du har lavet disse ændringer?
Avatar billede jtc Nybegynder
09. juli 2003 - 10:52 #30
Avatar billede nmh Nybegynder
09. juli 2003 - 10:58 #31
Ok jeg har kludret.
<%if skift=3 then response.write("</tr><tr>")
  skift=0
%>
skal selvfølgelig rettes til
<%if skift=3 then
    response.write("</tr><tr>")
    skift=0
  end if
%>
nu skulle det virke!
Avatar billede jtc Nybegynder
09. juli 2003 - 10:58 #32
Der kommer vist kun 1 række hvis jeg nu kigger efter
Avatar billede jtc Nybegynder
09. juli 2003 - 11:02 #33
Ja nu virker det :-)

Men det er godt nok nemmere at lave om i kolonnerne end i den anden.
Mange tak for hjælpen, nu kan jeg vist ikke præsse mere ud af dig, men du kunne jo lige kigge på et andet spørgsmål, som der ikke er nogen der har svaret på.
http://www.eksperten.dk/spm/371376

Ellers mange tak for hjælpen, hvad ikke klaret det uden dig!!!
Avatar billede nmh Nybegynder
09. juli 2003 - 11:10 #34
Hvilken af de to måder at vise søjler på endte du med at vælge?

Jeg ser måske på dit andet problem. Men jeg skal passe på, for hvis jeg først begynder på at løse et problem, helmer jeg ikke før jeg har klaret det.
Avatar billede jtc Nybegynder
09. juli 2003 - 11:15 #35
Jeg endte med at vælge denne metode
[1][4]
[2][5]
[3][6]
Men det kan jo være jeg får brug for den anden på et andet tidspunkt og så har jeg den jo.

Men jeg håber da at du vil hjælpe med mit andet problem for det har jeg siddet og knoklet med i flere måneder.
Dermed ikke sagt at problemet er svært, men tag lige et kig
PLEASE
Avatar billede nmh Nybegynder
09. juli 2003 - 11:18 #36
OK, vi får se.
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