---
title: "Skriva ut information från tre tabeller från A -> Ö"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/147366-skriva-ut-information-från-tre-tabeller-från-a-ö"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "peppar"
published: "2006-05-27T07:37:14.000Z"
updated: "2006-05-27T22:21:08.000Z"
replies: 3
views: 376
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/147366-skriva-ut-information-från-tre-tabeller-från-a-ö"
---

# Skriva ut information från tre tabeller från A -> Ö

## #1 — peppar, 2006-05-27T07:37Z

Har tre tabeller 
1) medlemsregister med personinformation (typ förnamn, efternamn tlefon osv.)
2) med_kategorier (odlare, uppfödare, förädlare, matlagare, övrig resurs)
3 med_origin (här lagras vilken medlem som tillhör vilka kategorier)

När jag skriver ut innehållet i mitt recordset så för jag på vissa poster "UNDANTAG INTRÄFFADE" och jag förstår inte vad det beror på.... Kan det vara innerjoinen i frågan? 
Hur skall frågan se ut om jag tar bort KRAVET med innerjoinen?
Eller kan det vara något annat?

Jag vill skriva ut informationen om alla medlemmar och jag använder denna fråga mot databasen

```
sql = 	"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"
set rs = conndb1.execute(sql)
```

Jag har försökt skriva ut alla poster för att rada upp alla namn snyggt och prydligt såhär:

**A**
Anders Andersson OÖ
**B**
Bertil Bertilsson M

osv... koden jag använder ser ut såhär: 

```
strPreviousLetter = "" 
for j = 75 to 83
	do while chr(j) = ucase(left(rs("usrEfternamn"), 1)) or chr(197) = ucase(left(rs("usrEfternamn"), 1)) 
	
		if rs("usrID") <> z then response.write "<br>"
		z = rs("usrID")
		if not q = rs("usrID") then
			If UCase(Left(RS("usrEfternamn"), 1)) <> strPreviousLetter Then
				strPreviousLetter = UCase(Left(RS("usrEfternamn"), 1))     
				Response.Write("<br><b>" & strPreviousLetter & "</b><br />")
			End If
			response.write "<span class=""style1"">" & rs("usrFornamn") &" "& rs("usrEfternamn") &" <b>"& ucase(left(rs("med_kategorier.usr_kategori"),1)) &"</b></span>"
		else
			response.write "<span class=""style1""><b>"& ucase(left(rs("med_kategorier.usr_kategori"),1)) &"</b></span>"
		end if
		q = rs("usrID")
	
rs.movenext
loop
next
```

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

## #2 — peppar, 2006-05-27T11:26Z

Knepigt, knepigt... Jag får undantagsfelet när jag kommer till bokstaven W i alfabetet. fram tills dess går det utmärkt att skriva ut på mitt sätt.
Det konstiga är att posten som innhåller W i databasen ser ut på samma vis som föregående poster.

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

## #3 — peppar, 2006-05-27T11:36Z

Anledningen varöfr jag delar upp recordsetet med forloopen för att kolla vilken bokstav man är i i loopen är att jag vill dela upp den utskrivna listan i två spalter.
Men det verkar inte vara så lätt som jag trodde.
Såhär skriver jag ut listan från a -\> ö

```
do until rs.eof
	if rs("usrID") <> z then response.write "<br>"
	z = rs("usrID")
	if not q = rs("usrID") then
		response.write rs("usrFornamn") &" "& rs("usrEfternamn") &" <b>"& ucase(left(rs("med_kategorier.usr_kategori"),1)) &"</b>"
	else
		response.write "<b>"& ucase(left(rs("med_kategorier.usr_kategori"),1)) &"</b> "
	end if
	q = rs("usrID")
	
rs.movenext
loop
```

Hmmm? Kan man kolla igenom hur många poster det finns och sedan dela på två för att skriva ut?

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

## #4 — peppar, 2006-05-27T22:21Z

> **peppar skrev:**
>
> Hmmm? Kan man kolla igenom hur många poster det finns och sedan dela på två för att skriva ut?

Jepp, precis så

Jag kollar hela recordsettet för att se hur många utav alfabetets bokstäver som finns representerade i tabellem medlemsregister.

det talet delar jag med två och skriver ut klabbet såhär:

```
<table width="100%" border="0">
       <tr>
         <td width="198" valign="top">
		  <%
		    rsFirstHalf = 0
		  	do until rs.eof
		  					
				if rs("usrID") <> z then response.write "<br>"
					z = rs("usrID")
					
					'##-- Vida varje namn skriv ut ALLA bockade kategorier
					call usrKatFunc(ucase(left(rs("med_kategorier.usr_kategori"),1)))
					
					if not q = rs("usrID") then
						If UCase(Left(RS("usrEfternamn"), 1)) <> strPreviousLetter Then
							strPreviousLetter = UCase(Left(RS("usrEfternamn"), 1)) 
							
							'##-- Om vi nått halvvägs så splitta och skriv ut i kolummn två (tre egentligen)   
							if rsFirstHalf = strFirstHalf then
								response.write "</td>" & vbCrlf
								response.write "<td width=""20"" valign=""top"" style=""background-image:url(bilder/linje_1pt_grey.gif); background-repeat:repeat-y;"">&nbsp;</td>" & vbCrlf
								response.write "<td width=""226"" valign=""top""> "& vbCrlf
							else
							end if	
							'##-- Skriv ut varje bokstav i alfabetet fetmarkerad 
							Response.Write("<br><b>" & strPreviousLetter & "</b><br />")
							rsFirstHalf = rsFirsthalf + 1
								
									
						End If
						response.write "<span class=""style1"">" & rs("usrFornamn") &" "& rs("usrEfternamn") &" "& usr_kategori &"</span>"
					else
						response.write "<span class=""style1""> "& usr_kategori &" </span>"
					end if
					q = rs("usrID")
					
			rs.movenext
			loop %>
		</td>
       </tr>
     </table>
```

Schwing!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/147366-skriva-ut-information-från-tre-tabeller-från-a-ö
