Ich habe da mal vor längerem ein Tut geschrieben. Ich denke, das ist, was Du suchst.
Im Repeat-Bereich sollen die Datensätze wie folgt dargestellt werden
a|b|c|
e|f|g|
h|i|j|
also 3 Spalten in einer Zeile oder
a|b|c|d|e|
f|g|h|i|j|
k|l|
5 Spalten in einer Zeile.
Um folgendes auch Testen zu können, müsst Ihr 5 Dinge tun:
1. Code in eine leere Seite kopieren
2. Eure Verbindung in objConn aktualisieren (sh. Punkt 1)
3. im SQL des Recordsets den Namen und die Felder Eurer Tabelle ergänzen (sh. Punkt 2)
4. Der Variablen AnzahlSpalten die Anzahl der gewünschten Spalten, die in einer Zeile vorkommen sollen, hier wurde 5 angegben, zuweisen (Punkt 3)
5. In der Schleife das Feld rs("Feld1") durch Euer Feld der Tabelle austauschen (sh. Punkt 4)
---- Code Anfang ----
<%@LANGUAGE="VBSCRIPT" %>
<% option explicit %>
<%
dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DSN=DeineVerbindung" 'Punkt 1
with response
.write "<html><head><title>Spaltenanzahl dynamisch erstellen</title></head>"
.write "<body>"
Dim RS, sql
sql = "select [Feld1] from [Tabelle] " 'Punkt 2
Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open sql, objConn
' --- Hier wird in der Variablen die Spaltenanzahl eingefügt
Dim AnzahlSpalten, spalte
AnzahlSpalten = 5 'Punkt 3
spalte=-1
.write "<table>"
' --- Schleife öffnen und errechnen der nötigen Zeilen
Do while not rs.eof
spalte = (spalte+1) mod AnzahlSpalten
if spalte=0 then response.write "<tr>"
' --- Daten schreiben
.write "<td style=""border:1px solid #666699"">" & rs("Feld1") & "</td>" 'Punkt 4
' --- Abschließen der Zeile, wenn alle gefüllt sind
if spalte=AnzahlSpalten-1 then response.write "</tr>"
rs.moveNext
Loop
' --- Schleife Schleißen und
' --- letzte Zeile füllen, falls die Anzahl der Datensätze für die
' --- letzte Zeile weniger als als AzahlSpalten betragen
' --- So wird die Tabelle korrekt geschlossen.
Dim i
For i = spalte+1 to AnzahlSpalten-1
.write "<td> </td>"
if i=AnzahlSpalten-1 then response.write "</tr>"
next
.write "</table>"
.write "</body></html>"
end with
' --- Recordset schließen
RS.Close
Set RS = Nothing
' -- Verbindung schließen
objConn.close
set objConn = Nothing
%>
----code ende----