Avatar billede cthun Nybegynder
01. november 2001 - 12:42 Der er 9 kommentarer og
1 løsning

RecordCount

Jeg er i gang med en side med nogle sangtekster, hvor jeg gerne vil have talt hvor mange poster der er i db\'en hvor for eksempel bandnavn er = Red hot chili peppers..

Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"../../db/lyrics/lyrics.mdb\")
Conn.Open DSN

strSQL = \"Select * From lyrics where list = 1 order by BandNavn\"
Set rs = Conn.Execute(strSQL)

do while not rs.EOF
response.write \"<a href=\'index.asp?artist=\" & rs(\"BandNavn\") & \"\'>\" & rs(\"BandNavn\")  & \"</a><br>\"

rs.movenext
loop


der skal selvfølgelig stå hvor mange poster der er ud for hver band!
Avatar billede Søren Bech Morsing Praktikant
01. november 2001 - 12:45 #1
strSQL = \"Select COUNT(bandnavn) AS bandAntal From lyrics where list = 1 GROUP BY bandnavn\"

do while not rs.EOF
response.write \"<a href=\'index.asp?artist=\" & rs(\"BandNavn\") & \"\'>\" & rs(\"BandNavn\")  & \"</a> \"& rs(\"bandAntal\") &\"<br>\"

rs.movenext
loop
Avatar billede cthun Nybegynder
01. november 2001 - 12:51 #2
sbk>> Jeg kan sgu ik\' helt få det til at virke
Avatar billede Søren Bech Morsing Praktikant
01. november 2001 - 12:53 #3
kast lige fejlen herind.... det er nok noget med din group by den ikke er så glad for

Avatar billede cthun Nybegynder
01. november 2001 - 12:54 #4
ADODB.Recordset fejl \'800a0cc1\'

Elementet kan ikke findes i den samling, der svarer til det anmodede navn eller ordenstal.

/lyrics/index.asp, linje 191
Avatar billede Søren Bech Morsing Praktikant
01. november 2001 - 12:56 #5
prøv lige at udkommentere rs(\"bandnavn\") de 2 gange du bruger den!

og se om det så virker
øhhh så er problemet jo selvfølgelig at få bandnavnet med ud.. hmmm
Avatar billede eagleeye Praktikant
01. november 2001 - 12:58 #6
Prøv at rette SQL\'en til:
strSQL = \"Select COUNT(bandnavn) AS bandAntal, * From lyrics where list = 1 GROUP BY bandnavn\"
Avatar billede cthun Nybegynder
01. november 2001 - 13:05 #7
Det virker sgu ik\'!
Avatar billede tranekaer Nybegynder
01. november 2001 - 13:16 #8
Lave to sql sætninger: en til bandnavn og en til count().

strSQL = \"SELECT * FROM lyrics WHERE list = 1 GROUP BY bandnavn\"
strSQLC = \"SELECT COUNT(bandnavn) AS bandantal FROM lyrics WHERE list = 1 GROUP BY bandnavn\"
Avatar billede eagleeye Praktikant
01. november 2001 - 14:01 #9
how du skal bruge having ikke where med count/group:

SELECT Count(bandnavn) AS bandAntal, bandnavn FROM lyrics GROUP BY bandnavn HAVING list=1;
Avatar billede cthun Nybegynder
01. november 2001 - 14:39 #10
Jeg har fundet ud af det, med hjælp fra KeyserSoze

SQL = \"SELECT DISTINCTROW BandNavn FROM lyrics where list = 1\"
set rs = Conn.Execute(SQL)

%>
<table border=0 cellpadding=0 cellspacing=0><tr><td colspan=2 height=20 valign=top><font face=verdana size=1>Bands</font></td></tr>

<% do while not rs.EOF or rs.BOF
response.write \"<tr><td width=10></td><td><font face=verdana size=2><a href=\'index.asp?artist=\" & rs(\"BandNavn\") & \"\'>\" & rs(\"BandNavn\")  & \"</a>&nbsp;<font face=verdana size=1>\"

SQLC = \"Select Count(BandNavn) as found FROM lyrics where BandNavn = \'\" & rs(\"BandNavn\") & \"\'\"
set rs2 = Conn.Execute(SQLC)

response.write \"(\" & rs2(\"found\") & \")</td></tr>\"

rs.movenext
loop
response.write \"</table>\"
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