Avatar billede cygnet Praktikant
02. november 2001 - 13:38 Der er 10 kommentarer og
2 løsninger

Sortering

Jeg har en databasen med en masse navne på nogen elever og hvilken klasse de går i.

Jeg vil gerne have så de kommer klasse vis altså

I 1.y går
Lars Nielsen
Kiki Simonsen

I 2.y går
Kurt Madsen
Magnus Møller

Osv.

Hvordan går jeg det ?
Avatar billede hirtshals Nybegynder
02. november 2001 - 13:41 #1
Select * from tabel order by klasse

do while not rs.eof

if not klasse = klasse then
response.write rs(\"klasse\")
end if
Avatar billede keysersoze Ekspert
02. november 2001 - 13:41 #2
hvis det skal være heeeelt korrekt, så skal fornavne være i én kolonne og efternavn i en anden kolonne - og så er det jo bare at sortere efter det
Avatar billede hirtshals Nybegynder
02. november 2001 - 13:44 #3
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"database.mdb\")

strSQL = \"Select * from tabel order by klasse\"

Set RS = Server.CreateObject(\"ADODB.Recordset\")
RS.Open strSQL,Conn,1,1

klasse=\"\"

do while not rs.eof

if not klasse = klasse then
response.write rs(\"klasse\")
end if

response.write  rs(\"Navn\") & \"<br>\"

rs.movenext
Loop
Avatar billede hirtshals Nybegynder
02. november 2001 - 13:46 #4
Jeg går ud fra Pointen er at overskiriften skal stå øverst, så skal du bare sortere det - og

for hvert gennemløb checke om næste elev er i samme klasse


f not klasse = klasse then
response.write rs(\"klasse\")
end if

og nåh ja inden du laver en movenext skal du lige sætte flg

klasse = rs(\"klasse\")
rs.movenext
Loop
Avatar billede hirtshals Nybegynder
02. november 2001 - 13:47 #5
Så får du sådan en liste med navnene

I 1.y går
Lars Nielsen
Kiki Simonsen

I 2.y går
Kurt Madsen
Magnus Møller
Avatar billede keysersoze Ekspert
02. november 2001 - 13:50 #6
hmmm - jeg troede det var for at sortere efter efternavn...
Avatar billede cygnet Praktikant
02. november 2001 - 13:51 #7
Der er rimelig mange klasse. Så er det muligt du lige kan udbygge det script der så - hvis der er en måde at man kan gøre når halvdelen af klasserne er skrvet laver den i en ny kolonne ala
<table>
<tr>
<td>
I 1.y går
Lars Nielsen
Kiki Simonsen

I 2.y går
Kurt Madsen
Magnus Møller
</td><td>I 1.g går
Lars Nielsen
Kiki Simonsen

I 2.g går
Kurt Madsen
Magnus Møller
</td>
</table>
Avatar billede cygnet Praktikant
02. november 2001 - 14:00 #8
hirtshals >> den siger dette når jeg bruger det du har lavet

Microsoft OLE DB Provider for ODBC Drivers error \'80040e21\'

De ønskede egenskaber understøttes ikke af denne ODBC-driver.

/butikstorvet/afdeling/lister/butik.asp, line 216

og det er:

RS.Open strSQL,Conn,1,1
Avatar billede cygnet Praktikant
02. november 2001 - 14:09 #9

duer minus - hjælp
Avatar billede cygnet Praktikant
02. november 2001 - 14:10 #10
Er kommet frem til det....

<%
 
    Set conntemp = Server.CreateObject(\"ADODB.Connection\")
  DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.mappath(\"../database/db.mdb\") & \"; UID=Administrator; PWD=\"
  conntemp.open DSN
 
mode=request(\"mode\")

sql = \"SELECT * from butikker ORDER BY afdeling desc\"
    set rstemp = conntemp.execute(sql)

afdeling=\"\"

do while not rstemp.eof

if not afdeling = afdeling then
response.write rstemp(\"afdeling\")
end if

response.write  rstemp(\"Navn\") & \"<br>\"
afdeling =  rstemp(\"afdeling\")
rstemp.movenext
Loop %>

Men den skriver bare navne... ikke fedt....
Avatar billede cygnet Praktikant
02. november 2001 - 14:19 #11
løsningen var:

<%
 
    Set conntemp = Server.CreateObject(\"ADODB.Connection\")
  DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.mappath(\"../database/db.mdb\") & \"; UID=Administrator; PWD=\"
  conntemp.open DSN
 
mode=request(\"mode\")

sql = \"SELECT * from butikker ORDER BY afdeling asc\"
    set rstemp = conntemp.execute(sql)

afdeling=\"\"

do while not rstemp.eof

if not afdeling = rstemp(\"afdeling\") then
response.write \"<b>\" & rstemp(\"afdeling\") & \"</b><br>\"
end if

response.write  rstemp(\"Navn\") & \"<br>\"
afdeling =  rstemp(\"afdeling\")
rstemp.movenext
Loop %>
Avatar billede cygnet Praktikant
02. november 2001 - 14:20 #12
ss
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