Hej Är det antalet poster du vill ha ut så skriver du SELECT COUNT(fält) AS AntalPoster FROM tabellen.... jag har lagt in det på min hemsida. på förstasidan under fotografierna finns en klickbar länk "förfäder" och när man klickar där kommer man till en sida där förfäderna för den personen listas. Och under/längst ner på den listan skall det stå tex 387 stycken. jag testade med: ORDER BY ska inte vara med i SQL-frågan eftersom den ju bara ska returnera ett antal. Prova med detta i stället: Hej Janne F'låt, jag var lite slarvig när jag kopierade den första delen av din SQL-fråga. Det ska vara en enkelfnutt i slutet också och då blir det så här. Hej SELECT fält, (SELECT COUNT(fält) AS AntalPoster FROM tabell) FROM tabell hej Hej Nina! Tack Janne!!!räkna antal poster som är listade
Jag har en Access-databas.
Jag vill från den kunna räkna antalet poster som visas.
<code>Farfar |
FarMor |
MorFar |
MorMor </code>
När man klickar på tex "farfar" så listas farfars alla förfäder upp med namn. Under alla namnen vill jag ha antalet tex 450 st. Istället för att behöva sitta och räkna efter förhand och sedan manuellt skriva in det måste det väl finnas något sätt att automatiskt göra detta? Allt funkar utmärkt som det är nu... det är bara räkningen/antal poster som jag inte vet hur jag skall få till. Resten av koden ser ut så här:
<code><%
Dim anfader
anfader = Request.QueryString("bokstav")
Set Connect = Server.CreateObject("ADODB.Connection")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= "& server.MapPath("forskning.mdb")
strSQL = "SELECT * FROM tabellen WHERE anfader LIKE '" & Request.QueryString("anfader") & "%' ORDER BY enamn ASC, info DESC"
RecSet.Open strSQL, Connect
%>
<%
If RecSet.EOF = True Then %><tr><td>lämpligt felmeddelande... </td></tr>
<% Else %>
</td>
</TR>
<tr bgcolor="#DCBC9C">
<td id="a">Namn</td>
<td id="a" colspan="2" align="right">Född</td>
<td id="a"> </td>
<td id="a" colspan="2" align="left">Död</td>
<% Do While Not RecSet.EOF %>
<%
if intRowColor = 0 Then
Response.Write "<TR bgcolor=""#D7B089"">"
intRowColor = 1
Else
Response.Write "<TR bgcolor=""#DCBC9C"">"
intRowColor = 0
End if
%>
<td id="bb"><nobr><%=RecSet("info")%> <%=RecSet("fornamn")%></nobr></td>
<td id="bb" align="right"> <nobr><%=RecSet("fodelseplats")%></nobr></td>
<td id="bb" align="right"> <nobr><%=RecSet("fodelsekort")%></nobr></td>
<td id="bb">-</td>
<td id="bb"><nobr><%=RecSet("dodkort")%></nobr> </td>
<td id="bb"><nobr><%=RecSet("dodplats")%></nobr> </td>
</tr>
<% RecSet.MoveNext
Loop
RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
end if
%>
</code>Sv: räkna antal poster som är listade
Skriver sedan ut antalet: <%=RecSet("AntalPoster")%>
Var det så du mena?Sv: räkna antal poster som är listade
www.ninaz.com
Hur/vart skriver jag in det i koden?
/en nybörjareSv: räkna antal poster som är listade
<code>strSQL = "SELECT count(anfader) as AntalPoster FROM tabellen WHERE anfader LIKE '" & Request.QueryString("anfader") & "%' ORDER BY enamn ASC, info DESC"
</code>
men får bara följande:
Du försökte köra en fråga med en mängdfunktion som inte innehöll det angivna uttrycket 'enamn'.
/NinaSv: räkna antal poster som är listade
<code>strSQL = "SELECT count(anfader) as AntalPoster FROM tabellen WHERE anfader LIKE '" & Request.QueryString("anfader")</code>
Mvh, JanneSv: räkna antal poster som är listade
när jag skriver så får jag följande:
Syntaxfel i sträng i frågeuttrycket 'anfader LIKE 'mm'.
Sen vill jag ju gärna att de listas upp med Andersson före Pettersson osv. dvs i bokstavsordning.
/Nina Sv: räkna antal poster som är listade
<code>strSQL = "SELECT count(anfader) as AntalPoster FROM tabellen WHERE anfader LIKE '" & Request.QueryString("anfader") & "'"</code>
Den här frågan returnerar bara ett tal. Jag tror att det du vill göra ska utföras i två frågor. Den första frågan är den som du beskrev i ditt första inlägg. Den ger ju alla anfäderna som svar sorterade så som du vill ha dem.
Sedan får du ställa den andra frågan (ovan) för att få fram antalet och presentera det under listan med anfäder.
Hope this helps, JanneSv: räkna antal poster som är listade
hur skriver man 2 sql frågor i samma fråga?
/nybörjarenSv: räkna antal poster som är listade
Sv: räkna antal poster som är listade
jag testade med:
<code>strSQL = "SELECT *, (select count(anfader) as AntalPoster FROM tabellen) FROM tabellen WHERE anfader LIKE '" & Request.QueryString("anfader") & "'"</code>
och fick:
ADODB.Recordset fel '800a0cc1'
Objektet kunde inte hittas i mängden med det begärda namnet eller numret. Sv: räkna antal poster som är listade
Jag tänkte mig att du skulle skapa två st recordset. Nedan har jag modifierat din ursprungliga kod. Som du ser skapas ytterligare ett recordset (RecSet2) som bara innehåller antalet poster. När loopen som visar informationen om anfäderna är klar visas resultatet av det andra recordsetet.
Mvh, Janne
<code>
<%
Dim anfader
anfader = Request.QueryString("bokstav")
Set Connect = Server.CreateObject("ADODB.Connection")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Set RecSet2 = Server.CreateObject("ADODB.Recordset")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= "& server.MapPath("forskning.mdb")
strSQL = "SELECT * FROM tabellen WHERE anfader LIKE '" & Request.QueryString("anfader") & "%' ORDER BY enamn ASC, info DESC"
RecSet.Open strSQL, Connect
strSQL = "SELECT count(anfader) as AntalPoster FROM tabellen WHERE anfader LIKE '" & Request.QueryString("anfader") & "'"
RecSet2.Open strSQL, Connect
%>
<%
If RecSet.EOF = True Then %><tr><td>lämpligt felmeddelande... </td></tr>
<% Else %>
</td>
</TR>
<tr bgcolor="#DCBC9C">
<td id="a">Namn</td>
<td id="a" colspan="2" align="right">Född</td>
<td id="a"> </td>
<td id="a" colspan="2" align="left">Död</td>
<% Do While Not RecSet.EOF %>
<%
if intRowColor = 0 Then
Response.Write "<TR bgcolor=""#D7B089"">"
intRowColor = 1
Else
Response.Write "<TR bgcolor=""#DCBC9C"">"
intRowColor = 0
End if
%>
<td id="bb"><nobr><%=RecSet("info")%> <%=RecSet("fornamn")%></nobr></td>
<td id="bb" align="right"> <nobr><%=RecSet("fodelseplats")%></nobr></td>
<td id="bb" align="right"> <nobr><%=RecSet("fodelsekort")%></nobr></td>
<td id="bb">-</td>
<td id="bb"><nobr><%=RecSet("dodkort")%></nobr> </td>
<td id="bb"><nobr><%=RecSet("dodplats")%></nobr> </td>
</tr>
<% RecSet.MoveNext
Loop
%>
Antal anfäder: <%=RecSet2("AntalPoster")
RecSet.Close
RecSet2.Close
Set RecSet = Nothing
Set RecSet2 = Nothing
Connect.Close
Set Connect = Nothing
end if
%> </code>Sv: räkna antal poster som är listade
Jag skall testa så fort jag kommer hem från jobbet!!! :-)
mvh Nina