Avatar billede weiland Nybegynder
07. april 2003 - 10:39 Der er 12 kommentarer og
1 løsning

recordset sorteret i kolonner?

Følgende kode sorterer et recordset i rækker:

while not rs.eof
    x = x + 1

        if x mod 7 = 1 then
            response.write "<tr width='33%'>"
        end if
               
            response.write "<td>bla bla</td>"
       
        if x mod 7 = 0 then
            response.write "</tr>"
            response.write "<tr><td>bla bla </td></tr>"
        end if
       
rs.MoveNext
wend

Men hvordan får man et recordset sat op i en tabel, hvor posterne er sorteret i kolonner? Altså nedad?
Avatar billede mm12010 Nybegynder
07. april 2003 - 12:40 #1
læg posterne i variabler med et linieskift efter hvert felt.

er desværre ikke så hård til VB at jeg lige kan gøre det for dig :o)
Avatar billede soes Nybegynder
07. april 2003 - 14:13 #2
response.write("<table">)
while not rs.eof
  response.write("<tr>")
  response.write("<td>"& Rs(0) &"</td>")
  response.write("<td>"& Rs(1) &"</td>")
  response.write("</tr>")
  rs.movenext
wend
response.write("</table>")

er det dette du mener?
Avatar billede weiland Nybegynder
07. april 2003 - 14:48 #3
Nej, umiddelbart ikke... Det skal være dette:

<table>
<tr><td>post 1</td><td>post 3</td><td>post 5</td></tr>
<tr><td>post 2</td><td>post 4</td><td>post 6</td></tr>
</table>
Avatar billede mm12010 Nybegynder
07. april 2003 - 14:59 #4
er der altid kun 6 poster?
Avatar billede weiland Nybegynder
07. april 2003 - 15:08 #5
Næ, nej - der kan være uendeligt mange, så at sige.
Jeg vil gerne kunne bestemme, hvor mange kolonner posterne skal sprede sig over..
Avatar billede hossein Nybegynder
07. april 2003 - 18:27 #6
Avatar billede weiland Nybegynder
07. april 2003 - 20:52 #7
Jeg skal ærlig indrømme, at jeg ikke helt er med på, hvad der foregår :-)

Men til nedenstående kode får jeg denne fejlmeddelelse:

Microsoft VBScript runtime error '800a0009'
Subscript out of range: '[number: 1]'
....og så henvises til linie 47, som er "DisplayName = minFelt(1, RowCounter + ColCounter * NumRows-1) & " " & minFelt(2, RowCounter + ColCounter * NumRows-1)"

Jeg viser her den kode, som jeg arbejder med nu:

<%@ Language=VBScript %>
<% Option Explicit %>
<% response.buffer=true %>
<%
dim DSN, oRs, oConn, strSQL, minFelt, colcounter, NumRecords, NumRows, DisplayName, RowCounter

Const NumColumns = 2

Set oConn = Server.CreateObject("ADODB.Connection")
DSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("../../../database.mdb")
oConn.Open DSN

strSQL = "Select Navn from Medarbejdere"
Set oRs = oConn.Execute(strSQL)

minFelt = oRs.GetRows

oRs.close
set oRs = nothing
oConn.close
set oConn=nothing%>


<table ALIGN="CENTER" BORDER="1" CELLPADDING="1"CELLSPACING="1">
<THEAD>
<tr>
<%For colcounter = 1 to NumColumns %>
<th>xxxxx</th>   
<th>yyyyy</th>   
<%next%>
</tr>
</THEAD>

<%
NumRecords = ubound(minFelt,2) + 1

if NumRecords mod NumColumns = 0 then
NumRows = NumRecords\NumColumns
Else
NumRows = NumRecords\NumColumns+1
End if

For RowCounter = 1 to NumRows

  For ColCounter = 0 to NumColumns-1
    if RowCounter + ColCounter * NumRows <= NumRecords then         
          DisplayName = minFelt(1, RowCounter + ColCounter * NumRows-1) & " " & minFelt(2, RowCounter + ColCounter * NumRows-1)
response.write "<td>"& Displayname &"</td><td>" & minFelt(3,RowCounter + ColCounter * NumRows-1) & "</td>"
    Else
        Response.write "<td>&nbsp;</td><td>&nbsp;</td>"
    End if
  Next
response.write "</tr>"
Next%>
</table>
Avatar billede hossein Nybegynder
07. april 2003 - 21:29 #8
det er fordi du har valgt 2 colonner fra din tabel:
Const NumColumns = 2

Men i din SQL sætning vælger du kun en kolonne nemlig navn. Så du skal vælge mindst 2 fra din tabel.
Avatar billede weiland Nybegynder
07. april 2003 - 21:32 #9
Med...
strSQL = "Select Navn,Email from Medarbejdere"

...melder siden stadig:
Microsoft VBScript runtime error '800a0009'
Subscript out of range: '[number: 2]'
Avatar billede hossein Nybegynder
07. april 2003 - 21:35 #10
Ok, skriv:
strSQL = "Select * from Medarbejdere"
Avatar billede weiland Nybegynder
07. april 2003 - 21:39 #11
Og dér var der hul igennem!
Avatar billede weiland Nybegynder
07. april 2003 - 22:40 #12
Nu har jeg puslet lidt med det, og det virker BARE GODT!
Tak Hossein!
Avatar billede hossein Nybegynder
07. april 2003 - 22:41 #13
selv tak!
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