Avatar billede jimpp Nybegynder
17. oktober 2003 - 15:49 Der er 12 kommentarer og
1 løsning

Endnu et problem med count

Jeg skal have en statestik over hvor mange nyheder hver skribent har lavet, men jeg kan ikke få det til at hænge sammen.

Skribenten hentes fra tabellen users og oplysninger om nyheder bliver hentet fra tabellen tekster:

KODEN_

<%
Set RS_crew = Server.CreateObject("ADODB.RecordSet")
Set RS_text = Server.CreateObject("ADODB.RecordSet")
RS_crew.open "Select * From [users] WHERE Type='game'" , Conn, 1, 3

SQLcount = "SELECT COUNT(*) AS ialt FROM tekster WHERE Type='nyhed' AND Forfatter=" & RS_crew("id")
RS_text.open SQLcount , Conn, 1, 3

do until RS_text.eof
RS_text.movenext
RS_crew.movenext

strIalt = RS_text("ialt")
strFirst = RS_crew("Firstname")
strLast = RS_crew("Lastname")

Response.Write("<tr><td>" & strFirst & " " & strLast & "</td><td>" & strIalt & "</td></tr>")
loop
RS_text.close
set RS_text = nothing
RS_crew.close
set RS_crew = nothing

%>

FEJLEN_

ADODB.Field error '800a0bcd'
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

/Nyheder_crew.asp, line 23
Avatar billede goose Nybegynder
17. oktober 2003 - 15:58 #1
Det er ikke fordi du har en forfatter der ingen artikler har skrevet, således at den ikke kan finde nogle records med artikler til en forfatter ?

/Goose
Avatar billede jimpp Nybegynder
17. oktober 2003 - 16:02 #2
Jo det er ganske muligt - jeg ved bare ikke hvad jeg skal gøre ved det?
Avatar billede goose Nybegynder
17. oktober 2003 - 16:08 #3
du kan jo indsætte en

if RS_text.eof then
gør  et eller andet
end if

/Goose
Avatar billede nielle Nybegynder
17. oktober 2003 - 16:12 #4
Ret til:

<%
Set RS_crew = Server.CreateObject("ADODB.RecordSet")
RS_crew.open "Select * From [users] WHERE Type='game'" , Conn, 1, 3

do while not RS_crew.eof
  SQLcount = "SELECT COUNT(*) AS ialt FROM tekster WHERE Type='nyhed' AND Forfatter=" & RS_crew("id")
 
  Set RS_text = Server.CreateObject("ADODB.RecordSet")
  RS_text.open SQLcount , Conn, 1, 3
 
  strIalt = RS_text("ialt")
  strFirst = RS_crew("Firstname")
  strLast = RS_crew("Lastname")

  Response.Write("<tr><td>" & strFirst & " " & strLast & "</td><td>" & strIalt & "</td></tr>")
 
  RS_text.close
  set RS_text = nothing

  RS_crew.MoveNext
loop

RS_crew.close
set RS_crew = nothing
%>
Avatar billede jimpp Nybegynder
17. oktober 2003 - 16:22 #5
Tak det virkede!

Pointene er dine - du får 50 extra hvis du kan fortælle mig hvor den jeg får den til at vise den mest flest nyheder først... ved godt at det er noget med ORDER BY ialt DESC... men hvor ;)
Avatar billede nielle Nybegynder
17. oktober 2003 - 16:48 #6
Værsgod:

<%
SQL = "SELECT Firstname, Lastname, count(*) AS ialt FROM users AS U, tekster AS T WHERE U.Type='game' AND U.id=T.Forfatter AND T.Type='nyhed' GROUP BY id ORDER BY count(*)"

Set RS = Server.CreateObject("ADODB.RecordSet")
RS_crew.open SQL , Conn, 1, 3

do while not RS.eof
  strIalt = RS("ialt")
  strFirst = RS("Firstname")
  strLast = RS("Lastname")

  Response.Write("<tr><td>" & strFirst & " " & strLast & "</td><td>" & strIalt & "</td></tr>")
 
  RS.MoveNext
loop

RS.close
set RS = nothing
%>
Avatar billede jimpp Nybegynder
19. oktober 2003 - 14:41 #7
hmmm det virker ikke :(

får denne skærm ;)

Statestik over Nyheder, Anmeldelser, Previews og Features
Navn: Antal nyheder:
Microsoft VBScript runtime error '800a01a8'
Object required: ''

/Nyheder_crewGamesList.asp, line 15
Avatar billede jimpp Nybegynder
19. oktober 2003 - 14:44 #8
okay troede jeg havde fundet fejlen. Der stod RS_Crew et sted istedet for RS ;) får nu denne fejl:

The specified field 'id' could refer to more than one table listed in the FROM clause of your SQL statement.

/Nyheder_crewGamesList.asp, line 15
Avatar billede hossein Nybegynder
19. oktober 2003 - 15:07 #9
det er den ID som skal du angiv fra hviken tabel, i din sql:
GROUP BY id ORDER
Avatar billede jimpp Nybegynder
19. oktober 2003 - 16:01 #10
Det var jeg nået frem til ;) men havd skal jeg gøre ved det?
Avatar billede nielle Nybegynder
19. oktober 2003 - 19:24 #11
GROUP BY U.id
Avatar billede jimpp Nybegynder
27. oktober 2003 - 21:06 #12
Det virkede takker
Avatar billede nielle Nybegynder
27. oktober 2003 - 21:11 #13
Takker for points. :^)
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