Frågan 15 maj 2003 18:30 #1 Jag har två kolumner i en tabell, vi kan kalla dem "NumberOfVotes" och "Votes". Hur skall jag skriva för att få ut kvoten mellan dem? Går det med
<% = recset("Votes") / ("NumberOfVotes") %>
??
Fråga nummer två: Om jag vill sortera ut de top 5 med högst kvot, hur skriver jag då?
Peeer Medlem sedan mars 2002 5 907 inlägg <% = recset("Votes") / recset("NumberOfVotes") %>
tjohoo jag hade rätt! vad glad jag blir!
och på fråga nummer två svarar ni?
Peeer Medlem sedan mars 2002 5 907 inlägg Det får du lösa i sql-satsen.
select top 5 Votes,NumberOfVotes,(Votes+0.0)/(NumberOfVotes + 0.0) as medel from tabell order by medel desc
Behöver jag säga att jag hittade svaret genom att söka bland LarsG's tidigare inlägg
På den första frågan, hur skriver jag för att bara visa två gällande siffror? ex 5,0 eller 4,8??
Peeer Medlem sedan mars 2002 5 907 inlägg <% = round(recset("Votes") / recset("NumberOfVotes"),1) %>
problem med satsen:
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("addemalmbergadmin/tubsockan.mdb")
SQL2 = "select top 5 rekom,rekomvotes,(rekom+0.0)/(rekomvotes + 0.0) as medel from sockrates order by medel desc"
set RecSet = connect.execute(SQL2) <------- rad 38
felmess:
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
/rekommenderas.asp, line 38
@nders Medlem sedan juni 2000 32 967 inlägg Om man använder Access kan man inte sortera genom att ange namnet på sitt i frågan skapade fält, utan måste ange ordningsnumret, dvs 3 istället.
mvh
S Sebbe Medlem sedan jan. 2003 2 285 inlägg SQL2 = "select top 5 rekom,rekomvotes,(rekom+0.0)/(rekomvotes + 0.0) as medel from sockrates order by 3 desc"
/red Tusan, @nders ! ;)
still trouble:
ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
/rekommenderas.asp, line 41
den verkar inte ta emot mina andra kolumner ex rubrik, kategori, id och ingress...?
@nders Medlem sedan juni 2000 32 967 inlägg
magnusfeldth skrev:
den verkar inte ta emot mina andra kolumner ex rubrik, kategori, id och ingress...?
Nej, du hämtar ju bara rekom, rekomvotes och medel?
ska jag skriva:
SQL2 = "select top 5 id, rubrik, kategori, id, ingress, rekom,rekomvotes,(rekom+0.0)/(rekomvotes + 0.0) as medel from sockrates order by 3 desc"
för att få med dem? eller gör den att även dessa räknas in i "medel"?
@nders Medlem sedan juni 2000 32 967 inlägg Vadå räknas in i medel?
Du kan ju alltid testa frågan istället för att fråga oss om den fungerar.
Du bör dock inte ha med id två gånger i select-listan.
"Du kan ju alltid testa frågan istället för att fråga oss om den fungerar. "
- jo, men jag är pendlande student. Hemma i föräldrahemmet har jag bara bredband på en dator och av någon anledning gillar inte adsl-modemet min lap-top som jag jobbar på. Sålunda är jag fast vid uppringt internet vid webredigering och måste ringa upp, publicera websiten, kolla, stänga ner, fråga vad jag gjort för fel eftersom jag har xp home och inte någon webserver på datorn... så därför är jag lite besvärlig och frågar innan jag gör fel...
:-)
nånting måste vara fel, den visar 6 poster och inte 5 som den ska, samt att ordningen inte är korrekt...
<%
Dim Color
Color = ""
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("addemalmbergadmin/tubsockan.mdb")
SQL2 = "select top 5 id, rubrik, kategori, ingress, rekom,rekomvotes,(rekom+0.0)/(rekomvotes+0.0) as medel from sockrates order by 3"
set RecSet = connect.execute(SQL2)
Do Until RecSet.EOF
If RecSet ("Kategori") = 1 Then
Color = "#9FA989"
ElseIf RecSet ("Kategori") = 2 Then
Color = "#9FA989"
ElseIf RecSet ("Kategori") = 3 Then
Color = "#788068"
End If
%>
<tr>
<td width="8" valign="top">
<img border="0" src="images/1x1transparant.gif" width="8" height="1"></td>
<td width="5" valign="top" bgcolor="<% =color %>">
<img border="0" src="images/5x5transparant.gif"></td>
<td width="1" valign="top">
<img border="0" src="images/1x1transparant.gif"></td>
<td width="320" valign="top"><h4><b><a href="../sidval.asp?id=<% = RecSet("id") %>"><% = RecSet("Rubrik") %></a></b></h4>
<h2><% = RecSet("Ingress") %></h2>
</td>
<td width="36" valign="top">
<h4 align="center"><b><% = round(recset("rekom") / recset("rekomvotes"),1) %></b></h4>
</td>
</tr>
<tr>
<td width="370" colspan="5" valign="top">
<img border="0" src="images/1x1transparant.gif"></td>
</tr><%
Recset.MoveNext
Loop
Recset.Close
Connect.Close
Set Recset = Nothing
Set Connect = Nothing
%>
se resultatet live: http://www.vitatubsockor.nu/rekommenderas.asp
kom på det själv, ändrade "3" till 5...