Avatar billede eromaster Nybegynder
24. april 2003 - 16:27 Der er 6 kommentarer og
1 løsning

Tæl antal efter id

Jeg skal have lavet et ASP script, som tæller efter et bestemt id. Dvs. jeg har:

<%=nyhed("id")%> fra tabellen "nyheder" <- denne skal samlingnes med tabellen "kommentar_nyhed"'s kolone "id_nyhed" og talt hvor mange poster der med samme id! og skrevet dette tal ud! hehe håber det bare er nogenlunde til at forstå! :)
Avatar billede eagleeye Praktikant
24. april 2003 - 16:32 #1
Du kan lave en SQL som tæller det.

SQL = "SELECT Count(*) as antal FROM kommentar_nyhed WHERE id_nyhed = " & nyhed(id)
Set rs = ConnectionObject.Execute(SQL)
if len("" & rs("antal")) > 0 then
  Response.write "Der er " & rs("antal") & " poster"
end if
Avatar billede eromaster Nybegynder
24. april 2003 - 16:35 #2
Fejl: Et objekt er obligatorisk: 'ConnectionObject'

Kode:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("db/nyheder.mdb")
SQL = "SELECT Count(*) as antal FROM kommentar_nyhed WHERE id_nyhed = " & nyhed("id")
Set rs = ConnectionObject.Execute(SQL)
if len("" & rs("antal")) > 0 then
  Response.write "Der er " & rs("antal") & " poster"
end if
%>
Avatar billede -mundi- Nybegynder
24. april 2003 - 16:46 #3
ja gad vide hvad det kan være ?
Avatar billede eagleeye Praktikant
24. april 2003 - 16:49 #4
Ja du skal lige have rettet det navnet på ConnectionObject til det som du bruger. Du bruger et connection object som hedder Conn så prøv at rette ConnectionObject til Conn så det bliver:
Set rs = Conn.Execute(SQL)
Avatar billede -mundi- Nybegynder
24. april 2003 - 16:50 #5
:-)
Avatar billede eromaster Nybegynder
24. april 2003 - 18:04 #6
JA okay lidt doh der.

nu siger den:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access-driver] Datatyperne stemmer ikke overens i kriterieudtrykket.

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("db/nyheder.mdb")
SQL = "SELECT Count(*) as antal FROM kommentar_nyhed WHERE id_nyhed = " & nyhed("id")
Set rs = Conn.Execute(SQL)
if len("" & rs("antal")) > 0 then
  Response.write "Der er " & rs("antal") & " poster"
end if
%>
Avatar billede eagleeye Praktikant
24. april 2003 - 18:10 #7
du skal havde det ind i dit andet script hvor du har dit recordset nyhed.

Den vælger jo id_nyhed = nyhed("id") så som test kan du skriver 1 :

SQL = "SELECT Count(*) as antal FROM kommentar_nyhed WHERE id_nyhed = 1"
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