---
title: "Dela utskrift från databas i tre kolumner (tabell)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/145773-dela-utskrift-från-databas-i-tre-kolumner-tabell"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "peppar"
published: "2006-04-20T07:47:09.000Z"
updated: "2006-04-21T17:07:21.000Z"
replies: 4
views: 329
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/145773-dela-utskrift-från-databas-i-tre-kolumner-tabell"
---

# Dela utskrift från databas i tre kolumner (tabell)

## #1 — peppar, 2006-04-20T07:47Z

Jag skriver ut en lista från en databas ungefär efter LeonLs beskrivning i [denna tråden](http://www.webforum.nu/showthread.php?p=1066360#post1066360). Koden ser ut ungefärsåhär: 

```
sql = "select * from medlemsregister order by usrEfternamn asc "
	set rs = conndb1.execute(sql)
   	strPreviousLetter = ""
	do until rs.eof
		if uCase(left(rs("usrEfternamn"), 1)) <> strPreviousLetter then
			strPreviousLetter = ucase(left(rs("usrEfternamn"), 1))     
			response.write("<b>" & strPreviousLetter & "</b><br />")
		End If
	   	response.write "<a href=""olle.asp?usrID="&rs("usrID")&""" >"&rs("usrEfternamn") &", "& rs("usrFornamn") &"</a><br />"
	
	rs.movenext
```

 
Nu skulle jag vilja dela upp utskriften i tre kolumner, lista är inte statisk utan posterna som skall skriva ut kommer att öka i mängd.

jag vill skriva ut i denna ordningen. Skall man räkna igenom antalet poster och dela med tre och sedan bryta för ny kolumn där det procentuellt är en tredjedel?

1 5 9
2 6 10
3 7 11
4 8 12

Permalänk: https://www.webforum.nu/p/145773

## #2 — peppar, 2006-04-20T11:22Z

Jag gjorde så att jag skriver ut A-I i kolumn ett, J-P i kolumn två Q-Ö i kolumn tre, såhär:

```
for j = 81 to 90
do while chr(j) = ucase(left(rs("usrEfternamn"), 1)) or chr(197) = ucase(left(rs("usrEfternamn"), 1)) or chr(196) = ucase(left(rs("usrEfternamn"), 1)) or chr(214) = ucase(left(rs("usrEfternamn"), 1))
```

 det går ju jättebra tills jag skall skriva ut Ö.
då får jag felmeddelande: Undantag inträffade på do while raden...? Är den för lång?\`Tar jag bort dom andra (ÅÄ) så skriver den inte ut ändå...

Permalänk: https://www.webforum.nu/p/1802227

## #3 — peppar, 2006-04-21T13:19Z

Jag börjar närma min min lösning nu. Men det stämmer inte riktigt i slutet på utskriften, den skriver ut till V (enkel v) sedan stoppar den? Mysko? Den borde ju skriva ut ända till Z. Vad kan det vara som går fel...? Hjälp mig!  :( 

Jag bifogar en bild på hur det ser ut när utskriften är klar. Såhär ser koden ut som skriver ut sista kolumnen: 

```
1 strPreviousLetter = "" 
2	for j = 82 to 90
3		'response.write chr(j) &" "& ucase(left(rs("usrEfternamn"), 1))
4		do while chr(j) = ucase(left(rs("usrEfternamn"), 1)) 'or chr(197) = ucase(left(rs("usrEfternamn"), 1)) or chr(196) = ucase(left(rs("usrEfternamn"), 1)) or
4       chr(214) = ucase(left(rs("usrEfternamn"), 1)) 
5		
6			if rs("usrID") <> z then response.write "<br>"
7			z = rs("usrID")
8			if not q = rs("usrID") then
9				If UCase(Left(RS("usrEfternamn"), 1)) <> strPreviousLetter Then
10					strPreviousLetter = UCase(Left(RS("usrEfternamn"), 1))     
11	  				Response.Write("<b>" & strPreviousLetter & "</b><br />")
12				End If
13		response.write "<span class=""style1"">" & rs("usrFornamn") &" "& rs("usrEfternamn") &" <b>"& ucase(left(rs("med_kategorier.usr_kategori"),1)) &"</b</span>"
14			else
15				response.write "<span class=""style1""><b>"& ucase(left(rs("med_kategorier.usr_kategori"),1)) &"</b></span>"
16			end if
17			q = rs("usrID")
18		
19	rs.movenext
20	 loop
21	next
```

SQLen som används ser ut såhär: 

```
"SELECT"&_
" medlemsregister.*, med_origin.*, med_kategorier.*, *"&_
" FROM"&_
" ((medlemsregister INNER JOIN"&_
" med_origin ON medlemsregister.usrId = med_origin.usr_USRORIGIN)"&_
" LEFT OUTER JOIN"&_
" med_kategorier ON med_origin.usr_KATEGORI = med_kategorier.usr_KATID)"&_
" WHERE usrID <> "& dummy &" ORDER BY usrEfternamn ASC"
```

Bilagor:

- [kolumner.jpg](https://www.webforum.nu/a/10452.jpg)

Permalänk: https://www.webforum.nu/p/1802611

## #4 — peppar, 2006-04-21T13:40Z

Om jag bockar bort apostrofen på rad 3 så att den skriver ut dom värden som iterationen ger så blir det såhär:

R R
S S
T T
U U
V V
W Å
X Å
Y Å
Z Å

Permalänk: https://www.webforum.nu/p/1802620

## #5 — peppar, 2006-04-21T17:07Z

Felet berodde på att jag inte såg att det saknades relaterande poster i tabellen med_origin, och det beror på en dåligt ställd fråga mot databasen... Skall se om jag kan göra om den.

Permalänk: https://www.webforum.nu/p/1802696

---

Tråden på webben: https://www.webforum.nu/amne/asp/145773-dela-utskrift-från-databas-i-tre-kolumner-tabell
