Avatar billede cyberkox Nybegynder
17. juni 2002 - 22:17 Der er 20 kommentarer og
3 løsninger

Udskrive noget i en tabel

Hej E.

Jeg har en database, hvor kolonnerne: >ID    Titel< er. I den er der en masse titler, en del af de samme. De skal nu udskrives. Men hver titel skal kun udskrives en gang.
Altså:
1. Jeg har en masse af de samme titeler, men hver af de samme, skal kun udskrives engang.

2. Så skal jeg have talt hvor mange der er af de samme titeler.

Hvis der var nogen der forstod, håber jeg på et godt svar ;)
Avatar billede skovtrold Nybegynder
17. juni 2002 - 22:19 #1
Til spørgsmål nr. 1
Du kan bruge "Distinct" til at udskrive titlerne een gang:
Select Distinct Feltnavn from tabelnavn
Avatar billede medions Nybegynder
17. juni 2002 - 22:20 #2
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("database.mdb")

strSQL = "SELECT * FROM tabel"

Set objRs = objConn.Execute(strSQL)

While Not objRs.EOF
  Response.Write(objRs("titel") & "<br>")
objRs.MoveNext()
Wend

//>Rune
Avatar billede kimiwan Nybegynder
17. juni 2002 - 22:25 #3
Hvor dit connection object er conn:

strsql = "SELECT titel, count(titel) AS titel_count FROM tabel GROUP BY titel"
set rs = conn.execute(strsql)

if not rs.eof then
  while not rs.eof
    response.write(rs("titel") & " (" & rs("titel_count") & ")<br>")
    rs.movenext
  wend
else
  response.write("ingen records")
end if

set rs = nothing
Avatar billede kimiwan Nybegynder
17. juni 2002 - 22:37 #4
For lige at være 100% sikker på at du forstår det, du skal selv føje dit connection object til koden, jeg skrev - jeg kan jo ikke vide, hvilken database, du skal connecte til, samt dens placering.
Avatar billede cyberkox Nybegynder
17. juni 2002 - 22:38 #5
Hmmm, det virker ikk helt
Avatar billede skovtrold Nybegynder
17. juni 2002 - 22:40 #6
Hvilket af det virker ikke?
Avatar billede cyberkox Nybegynder
17. juni 2002 - 22:42 #7
Denne kode:
<%
' Connection til database
Set Con = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("bog.mdb")
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
   
' Her hiver vi indholdet af databasen ud
sql = "Select Distinct titel, count(titel) AS titel_count FROM tæller WHERE brugerID = " & session("brugerID") &""
    Set rs =  Con.Execute(Sql)
%>
<%
if not rs.eof then
  while not rs.eof
    response.write(rs("titel") & " (" & rs("titel_count") & ")<br>")
    rs.movenext
  wend
else
  response.write("ingen records")
end if

set rs = nothing
%>
Avatar billede kimiwan Nybegynder
17. juni 2002 - 22:44 #8
og hvad er det, der ikke virker?
Avatar billede cyberkox Nybegynder
17. juni 2002 - 22:45 #9
Microsoft OLE DB Provider for ODBC Drivers fejl '80040e10'

[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1.

/web-service/index.asp, linje 379
Avatar billede kimiwan Nybegynder
17. juni 2002 - 22:47 #10
et bud er at session("brugerid") ikke indeholder noget.  prøv at hardcode et brugerid ind i sqlstrengen og se om ikke det hjælper.
Avatar billede skovtrold Nybegynder
17. juni 2002 - 22:47 #11
Hvad får du ved:
response.write sql ?
Avatar billede cyberkox Nybegynder
17. juni 2002 - 22:47 #12
Altså, resultatet skal gerne ligne dette:

| Titel  |  Antal af de samme titeler  |
| Polle  |  15  |
| Ole    |  16  |

Osv...
Avatar billede kimiwan Nybegynder
17. juni 2002 - 22:48 #13
jaja... men hvis du laver fejl i noget af det andet kode (staver galt i dine tabel/feltnavne eller ikke giver den et "godt" brugerid), vil den jo gøre knuder uanset hvor god alt den anden kode er.
Avatar billede cyberkox Nybegynder
17. juni 2002 - 22:50 #14
Der er ikke noget galt med session("brugerID").


response.write sql kommer der ikke noget ud af
Avatar billede kimiwan Nybegynder
17. juni 2002 - 22:52 #15
Se hvad det her gi'r dig... post det igen

<%
' Connection til database
Set Con = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("bog.mdb")
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
   
' Her hiver vi indholdet af databasen ud
sql = "Select Distinct titel, count(titel) AS titel_count FROM tæller WHERE brugerID = " & session("brugerID") &""
resonse.write sql
response.end
    Set rs =  Con.Execute(Sql)
%>
<%
if not rs.eof then
  while not rs.eof
    response.write(rs("titel") & " (" & rs("titel_count") & ")<br>")
    rs.movenext
  wend
else
  response.write("ingen records")
end if

set rs = nothing
%>
Avatar billede cyberkox Nybegynder
17. juni 2002 - 22:53 #16
Det er Select Distinct titel det er galt med.

Den virker fint uden den.

Skal der ikke være * et sted eller [] om noget ?
Avatar billede cyberkox Nybegynder
17. juni 2002 - 22:56 #17
Nu kommer der:
Der opstod en Microsoft VBScript-kørselsfejl fejl '800a01a8'

Et objekt er obligatorisk: ''

/web-service/index.asp, linje 379
Avatar billede kimiwan Nybegynder
17. juni 2002 - 22:57 #18
aaaah
hvorofor bruger du select distinct???? det er da at blande tingene sammen
Avatar billede kimiwan Nybegynder
17. juni 2002 - 22:57 #19
sql = "SELECT titel, count(titel) AS titel_count FROM tabel GROUP BY titel"
Avatar billede cyberkox Nybegynder
17. juni 2002 - 23:05 #20
Det virker altså ikke. Jeg har stavet alt rigtigt:
sql = "SELECT titel, count(titel) AS titel_count FROM tæller GROUP BY titel"

Den kommer med:
Microsoft OLE DB Provider for ODBC Drivers fejl '80040e10'

[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1.

/web-service/index.asp, linje 379

Det virker fint, når jeg bruger:
sql = "SELECT * from tæller"
Avatar billede kimiwan Nybegynder
17. juni 2002 - 23:07 #21
prøv at sætte [] omkring tæller + tjek at alle tabel- og kolonnenavne findes og er stavet korrekt!! ...ellers må det altså være dit brugerid, den er galt med.
Avatar billede cyberkox Nybegynder
20. juni 2002 - 22:17 #22
Okai, takker for hjælpen...
Avatar billede medions Nybegynder
21. juni 2002 - 01:16 #23
Anytime
Thx 4 Poinz

//>Rune
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