medlemsregister med personinformation (typ förnamn, efternamn tlefon osv.)
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
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.
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?
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;""> </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!
514 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2