Hej!
Jag skulle behöva liknande statistik som finns på https://www.prylar.nu
Men jag vett inte hur ska jag göra. I access databasen har jag en tabell (items)
och kolumnen typ (köpes) som jag vill få fram statistik på
hoppas Ni förstår mig.
10 svar · 333 visningar · startad av Ivar
Hej!
Jag skulle behöva liknande statistik som finns på https://www.prylar.nu
Men jag vett inte hur ska jag göra. I access databasen har jag en tabell (items)
och kolumnen typ (köpes) som jag vill få fram statistik på
hoppas Ni förstår mig.
Set db = Server.CreateObject("ADODB.Connection")
db.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/annonser.mdb") & ";pwd=;"
SQL = "SELECT Count(*) From items "
Set rs = db.Execute(SQL)
<%=RS.Fields(0) %> </font>annonser i databasen
Sen vett ej hur jag ska göra?
Använd en SQL fråga liknande denna.... för att få fram antalet köpes
'
SELECT COUNT(*) as antal from tabell WHERE column='köpes'
Typ...
Set db = Server.CreateObject("ADODB.Connection")
db.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/annonser.mdb") & ";pwd=;"
SQL = "SELECT Count(*) From items "
Set rs = db.Execute(SQL)
<%=RS.Fields(0) %> </font>annonser
<% Set db = Server.CreateObject("ADODB.Connection")
db.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/annonser.mdb") & ";pwd=;"
SQL = "SELECT COUNT(*) as antal from items WHERE typ='köpes'"
Set rs = db.Execute(SQL)
| Köpes: <font color="#FF0000"><%=RS.Fields(0) %>
Nu funkar men ska man verkligen ha 2 Connection finns det enklare sett?
MVH /Ivar
Set db = Server.CreateObject("ADODB.Connection")
db.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/annonser.mdb") & ";pwd=;"
SQL = "SELECT Count(*) From items "
Set rs = db.Execute(SQL)
<%=RS.Fields(0) %> </font>annonser
<%SQL = "SELECT COUNT(*) as antal from items WHERE typ='köpes'"
Set rs = db.Execute(SQL)
| Köpes: <font color="#FF0000"><%=RS.Fields(0) %>
Ivar skrev:
Set db = Server.CreateObject("ADODB.Connection") db.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/annonser.mdb") & ";pwd=;" SQL = "SELECT Count(*) From items " Set rs = db.Execute(SQL) <%=RS.Fields(0) %> </font>annonser <% Set db = Server.CreateObject("ADODB.Connection") db.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/annonser.mdb") & ";pwd=;" SQL = "SELECT COUNT(*) as antal from items WHERE typ='köpes'" Set rs = db.Execute(SQL) | Köpes: <font color="#FF0000"><%=RS.Fields(0) %> Nu funkar men ska man verkligen ha 2 Connection finns det enklare sett? MVH /Ivar
Du kan göra så här:
| Köpes: <font color="#FF0000"><%=rs("antal")%>
om du använder dig av :
sql = "SELECT COUNT(*) as antal from items WHERE typ='köpes'"
set rs = db.execute(sql)
Bra funkar och en sista fråga hur gör jag om i kolumnen TYP finns tomma fält och fält med köpes hur får jag fram antalet tomma fält som ska vara säljes?
MVH /Ivar
Ivar skrev:
Bra funkar och en sista fråga hur gör jag om i kolumnen TYP finns tomma fält och fält med köpes hur får jag fram antalet tomma fält som ska vara säljes?
MVH /Ivar
sql = "SELECT COUNT(*) as saljes from items WHERE typ=''"
set rs2 = db.execute(sql)
| Säljes: <%=rs2("saljes")%>
Tack snälla NI är best!
Istället för att exekvera en sql-sats för varje kategori du vill lista är det bättre (mer dynamiskt och servervänligt) att hämta ut all data med en enda sql-sats.
Set db = Server.CreateObject("ADODB.Connection")
db.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/annonser.mdb") & ";pwd=;"
SQL = "SELECT COUNT(*) as antal, case when typ = '' then 'Säljes' else typ end as kategori from items group by typ"
Set rs = db.Execute(SQL)
if rs.eof Then
Response.write "Inga annonser funna!"
else
do until rs.eof
Response.write rs("kategori") &" - "&rs("antal")&"<br>"
rs.movenext
loop