Avatar billede hrlund Nybegynder
13. maj 2002 - 14:17 Der er 9 kommentarer og
1 løsning

Flest poster

Hejsa ..

Jeg har en Acces Database hvor jeg har informationerne:
id  Navn
----------
1    Martin
2    Hans
3    Martin
4    Martin
5    Hans

Det jeg gerne vi lave er, at det navn som står flest gange i min database vil jeg gerne have udskrevet på mit site..
Alstå her ovenfor står Martin flest gange, så jeg vil gerne have Martin skal udskrives .. Hvis det var navnet Hans som stod flest gange, skulle han udskrives ..
Hvordan gør jeg det ?

Det bruges i forbindelse med en slags afstemning, hvor folk kan submitte en form, på hvilket chatnavn de syntes skal være månedes chatter ..
Avatar billede eagleeye Praktikant
13. maj 2002 - 16:41 #1
Sådan laver du din SQL:

strSQL = "SELECT Count(navn) AS AntalNavn, navn FROM tabel GROUP BY navn ORDER BY Count(navn) DESC;"
set rs = connection.execute(strSQL)

Så har du et recordset hvor Marting er øverst fordi han er der flest gange.

Du skal bare rette tabel navnet til at passe med din tabel.
Avatar billede hrlund Nybegynder
13. maj 2002 - 18:13 #2
Jeg får fejlen:

Microsoft OLE DB Provider for ODBC Drivers error '80040e0c'
Command text was not set for the command object.
Avatar billede eagleeye Praktikant
13. maj 2002 - 18:33 #3
du skal benytte denne SQL:

strSQL = "SELECT Count(navn) AS AntalNavn, navn FROM tabel GROUP BY navn ORDER BY Count(navn) DESC;"


Denne er abre et eks på hvordan du kan åben dit recordset:
set rs = connection.execute(strSQL)

Du har sikkert alderrede en connection i din kode som du kan bruge..
Avatar billede eagleeye Praktikant
13. maj 2002 - 19:40 #4
koden kan se sådan ud, du skal bare rette connections database navn + tabelnavn til det du bruger:

set conn = server.CreateObject("ADODB.Connection")
set rs = server.CreateObject("ADODB.Recordset")
conn.open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("dindatabasefil.mdb")
strSQL = "SELECT Count(navn) AS AntalNavn, navn FROM tabel GROUP BY navn ORDER BY Count(navn) DESC;"
set rs = conn.execute(strSQL)
do while not rs.EOF
  Response.write "Navn : " & rs("navn") & ", antal hits er " & rs("AntalNavn") & "<br>"
  rs.movenext
loop
Avatar billede hrlund Nybegynder
14. maj 2002 - 14:42 #5
Det virker fint .. Men har lige et sp. mere .. en opfølgning ..
Er det ikke muligt at lave en top 10 med de navne som er mest skrevet ? Og hvordan ?
Avatar billede eagleeye Praktikant
14. maj 2002 - 15:00 #6
Ja du kan sætte TOP 10 på,

strSQL = "SELECT TOP 10 Count(navn) AS AntalNavn, navn FROM tabel GROUP BY navn ORDER BY Count(navn) DESC;"

Top 10 går på 10 forskellige Counts og ikke 10 forskellige navne... så måske TOP 10 kan flyttes foran navn:

strSQL = "SELECT Count(navn) AS AntalNavn, TOP 10 navn FROM tabel GROUP BY navn ORDER BY Count(navn) DESC;"
Avatar billede hrlund Nybegynder
14. maj 2002 - 15:09 #7
strSQL = "SELECT Count(navn) AS AntalNavn, TOP 10 navn FROM tabel GROUP BY navn ORDER BY Count(navn) DESC;"
Det virker ikke :-(
Avatar billede eagleeye Praktikant
14. maj 2002 - 15:24 #8
Så må du bruge denne:
strSQL = "SELECT TOP 10 Count(navn) AS AntalNavn, navn FROM tabel GROUP BY navn ORDER BY Count(navn) DESC;"
Avatar billede hrlund Nybegynder
14. maj 2002 - 15:39 #9
Ikke for at være på tværs *G* Men får heller intet resultat ud af det ..
Den udskriver ikke noget, min kode ser sådan ud:

<%
    Set Connection = Server.CreateObject("ADODB.Connection")
    Connection.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("databsas.mdb")
    StrSQL = "SELECT TOP 10 Count(Piger) AS AntalPiger, Piger FROM Maj GROUP BY Piger ORDER BY Count(Piger) DESC;"
    set rs = connection.execute(strSQL)
%>
Førende Piger: <%=RS("Piger")%><br>
Avatar billede hrlund Nybegynder
04. juni 2002 - 14:51 #10
Hov, jeg glemte jo liige at acceptere dit svar *S*
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester