Du hast den Code doch schon geschrieben.
Den Code erweiterst Du um die Felder der News-Tabelle, die Du noch dargestellt haben willst. Im Group by gruppierst Du alle die Felder, wo Du keine Aggregatfunktion (Count,sum,max,min,avg) anwendest. Im Order by sortierst Du Deine Felder.
Außerdem schreibst Du immer "es geht nicht" aber beschreibst mit keinem Wort, was nicht geht! Ob Fehlermeldungen kommen, wenn ja, welche etc. Wie bitte schön, soll man dies als Außenstehender wissen? Ich denke, es liegt an der Verbindung. Aber ob der Pfad zur mdb korrekt ist, welche Feldeigenschaften und Formate Deine Felder haben, das kann man ja nicht wissen. CommentID muss z.B. ein Feld vom Type integer sein, wenn es mit NewsID in Beziehung geht.
<%
function GetAnzahlComments()
dim strDatabase
strDatabase = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../mdb/df.mdb") & ";"
dim com
Set com = Server.CreateObject("ADODB.Connection")
com.Open strDatabase
dim SQLStr
SQLstr = "SELECT [news].[newsID], "
SQLstr = SQLstr & "Count([comments].[commentID]) AS anzahl "
SQLstr = SQLstr & "FROM news LEFT JOIN comments "
SQLstr = SQLstr & "ON [news].[newsID]=[comments].[commentID] "
SQLstr = SQLstr & "GROUP BY [news].[newsID] "
SQLstr = SQLstr & "ORDER BY News.newsID desc"
dim rs
set rs = Server.CreateObject("ADODB.RecordSet")
rs.open SQLstr, com
while not rs.eof
dim txt
txt = "NewsID= " & rs(0) & " Anzahl Comments = " & rs(1) & "<br>"
GetAnzahlComments = GetAnzahlComments & txt
rs.movenext
wend
rs.close
set rs=nothing
com.close
set com=nothing
end function
' --- Ausgabe
Response.write GetAnzahlComments()
%>