Hej, [edit 09:49] Hej! Tack för era svar, tyvärr blir något fel. Du sa att du hade Access Jag har ändrat till # men det gör ingen skillnad samma fel. Har du testat att köra SQLsatsen direkt i Access? När jag kör den direkt i Access så ber den mig att ange parametervärde på cnt Skumt... cnt skall inte vara nåt reserverat ord, vad jag vet Nix det funkade inte i heller, får just nu spel på det. Jag skulle testa med: Tar jag bort "ORDER BY CountOfPageName DESC" i slutet av sql-uttrycket så får jag fram resultatet, det blir då inte sorterat efter mängd träffar per sida. Japp nu funkar det, det skulle vara ORDER BY Count(*) DESCHur få fram antal träffar på sidorna i fallande ordning
Jag håller på att ta fram vilken sida som är mest besökt på hemsidan, detta ska presenteras i fallande ordning, dvs det mest besökta överst och den minst besökta underst.
Min tabell ser ut så här (använder mig av access-databas just nu, skall snart gå över till mySQL)
tblPageVisit
--------------
id räknare
guestID besökarens id från en annan tabell
pageName Sidans namn
visitDate Datum då sidan besöks ex. 2004-07-13
Varje gång en sida visas så registreras den i den här tabellen.
Hur gör jag för att räkna ut hur många träffar varje sida hade förra månaden (2004-06) och sedan kunna presentera dem i fallande ordning.
mvh
TomasSv: Hur få fram antal träffar på sidorna i fallande ordning
<code>
tmpDate = DateAdd("m",-1,now())
lastDayInPrevMonth = DateAdd("d",-1,Year(Now() & "-" & Month(Now() & "-01")
SQL = "SELECT pageName, count(pageName) as cnt FROM tblPageVisit WHERE visitDate between #"& tmpDate & "# AND #" & lastDayInPrevMonth & "# ORDER BY cnt DESC"
</code>
Med reservation för tryckfelsnisse...
När du byter till MySQL skall du bara behäva byta ut # i koden mot ' (enkelfnutt)Sv: Hur få fram antal träffar på sidorna i fallande ordning
det bör väl vara en "GROUP BY pageName" oxå..
OlaSv: Hur få fram antal träffar på sidorna i fallande ordning
lastDayInPrevMonth blev fel så jag har satt in två datum i sql-satsen när jag testar men jag får ändå ett felmeddelande "För få parametrar angavs. 1 förväntades."
sqlsatsen blev enligt följande
SQL = "SELECT pageName, count(pageName) as cnt FROM tblPageVisit WHERE visitDate between '2004-07-12' AND '2004-07-13' GROUP BY pagename ORDER BY cnt DESC"
pageName är ett id-nummer och i databasen har jag datumen som strängar men det ska väl inte ha någon beydelse.
mvh
TomasSv: Hur få fram antal träffar på sidorna i fallande ordning
Du skall du ha # runt dina datum
Du skall ha datumfält om du skall räkna med datum, annars lär det bomba...
[edit]
lastDayInPrevMonth = DateAdd("d",-1,Year(Now()) & "-" & Month(Now()) & "-01")
Hade glömt några parenteser =)Sv: Hur få fram antal träffar på sidorna i fallande ordning
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades.
/Hemsida/stat/Statistics.asp, line 92
lastDayInPrevMonth har blivit rätt nu, tackar
så här kör jag sql-stasen
set rstLastMonth=db.execute(sql)
mvh
TomasSv: Hur få fram antal träffar på sidorna i fallande ordning
Brukar få lite bättre felmeddelanden där
Eller bygg den direkt i Access och testkör tills du ser att den stämmerSv: Hur få fram antal träffar på sidorna i fallande ordning
vad menar den ???
Kan man få fram FirstDayPreviousMonth lika smidigt som att få fram sista dan i månaden
TomasSv: Hur få fram antal träffar på sidorna i fallande ordning
Testa att döpa om den variabeln till nåt annat, tex:
SQL = "SELECT pageName, count(pageName) as CountOfPageName FROM tblPageVisit WHERE visitDate between '2004-07-12' AND '2004-07-13' GROUP BY pagename ORDER BY cnt DESC"
Och den andra frågan:
FirstDayPreviousMonth = DateAdd("m",-1,Year(Now()) & "-" & Month(Now()) & "-01")Sv: Hur få fram antal träffar på sidorna i fallande ordning
Får fortsätta testa, känns som om det är en småsak.
Nu skall jag snart med grabben på fotboll, gissa vad som kommer att snurra i huvudet.
TomasSv: Hur få fram antal träffar på sidorna i fallande ordning
<code>
strSQL = "SELECT pageName, Count(*) as Visits" & vbCrLf & _
"FROM tblPageVisit" & vbCrLf & _
"WHERE visitDate BETWEEN '2004-07-12' AND '2004-07-13'" & vbCrLf & _
"GROUP BY pagename" & vbCrLf & _
"ORDER BY Count(*) DESC"
</code>Sv: Hur få fram antal träffar på sidorna i fallande ordning
Det måste väl gå på något sätt?
TomasSv: Hur få fram antal träffar på sidorna i fallande ordning
Många tack till Ulf och Andreas
mvh
Tomas