Avatar billede monstermand Nybegynder
20. juni 2002 - 14:31 Der er 8 kommentarer og
1 løsning

sortering...

Hej,

har et underligt problem. Jeg har en access database og tilhørende side der kører upåklageligt. Rækkefølgen i databasen på posterne er også som den skal være, men når indholdet af databasen kommer ud på siden er rækkefølgen lidt underlig - faktisk kan jeg ikke se hvad den sorterer efter..
Avatar billede kimiwan Nybegynder
20. juni 2002 - 14:33 #1
du kan angive i dit sql kald, hvad den skal sortere efter:

SELECT * FROM tabelnavn ORDER BY feltnavn
Avatar billede monstermand Nybegynder
20. juni 2002 - 14:38 #2
hvorfor skal det sorteres når det ligger i den rigtige rækkefølge på db'sen?
Avatar billede monstermand Nybegynder
20. juni 2002 - 14:43 #3
og..i den linje du gav som eksempel - der er ikke nogen where. Hvor skal where delen være i forehold til order by?
Avatar billede kimiwan Nybegynder
20. juni 2002 - 15:34 #4
SELECT * FROM tabelnavn WHERE 1 = 1 ORDER BY feltnavn

Hvis du vil kontrollere, hvordan dine data bliver returneret (rækkefølgen), skal du altid sortere dit felt - også selvom det står som det skal i databasen.  Det kan jo ske, der bliver ændret i sorteringen i selve databasen bagefter, f.eks. hvis du pludselig skal finde et bestemt navn og vælger at sortere efter navn for nemheds skyld.

Jeg ved ikke hvorfor den returnerer det i en forkert rækkefølge i dit script - hvis det her ikke hjælper, må du lige poste noget kode.
Avatar billede monstermand Nybegynder
20. juni 2002 - 17:36 #5
"SELECT * FROM tblOpgave WHERE refOpgavetyper = " & RS("ID")

hvis ovenstående skal sorteres efter ID-kolonnen, skal det så se således ud:

"SELECT * FROM tblOpgave WHERE refOpgavetyper = " & RS("ID") ORDER BY ID

??? > fordi det virker ikke...
Avatar billede monstermand Nybegynder
21. juni 2002 - 09:55 #6
SQL = "SELECT * FROM tblOpgavetype WHERE ID <> 3"
set RS = conn.execute(SQL)

do while not rs.EOF
%>

<h3><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"><b><%=RS("Opgavetype")%></b></font></h3>

<table width="100%" border="0" cellspacing="1" cellpadding="2" align="center" bgcolor="#FFFFFF">
<tr bgcolor="#717578">
<td width="11%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Bruger</font></td>
<td width="30%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Opgave</font></td>
<td width="20%"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Status<br><font size="1">(udfyldes af os)</font></font></td>
<td width="13%" align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Ansvarlig<br><font size="1">(udfyldes af os)</font></font></td>
<td width="13%" align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Oprettelsesdato</font></td>
<td width="13%" align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Forfaldsdato<br><font size="1">(udfyldes af os)</font></font></td>
</tr>
<%

SQL2 = "SELECT * FROM tblOpgave WHERE refOpgavetyper = " & RS("ID")
set RS2 = conn.execute(SQL2)

do while not rs2.EOF

if colorCycle = 0 then
background = "#D3D7DA"
colorCycle = 1
else
background = "#BBBFC2"
colorCycle = 0
end if
%>
<tr bgcolor="<%=background%>">
<td width="11%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><%=rs2("Bruger")%></font></td>
<td width="30%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><%=rs2("Opgave")%></font></td>
<td width="20%"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><%=rs2("Status")%></font></td>
<td width="13%" align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><%=rs2("Ansvarlig")%></font></td>
<td width="13%" align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><%=rs2("Oprettelsesdato")%></font></td>
<td width="13%" align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000"><%=rs2("Forfaldsdato")%></font></td>
</tr>
<%
rs2.moveNext
loop

%>

</table>
<%

rs.moveNext
loop

conn.close
set conn = nothing
%>

ovenstående skal jeg have sorteret efter ID. Hvordan gør jeg det - jeg kan ikke få det til at virke ud fra ovenstående :o(
Avatar billede torbenmelander Nybegynder
23. juni 2002 - 13:17 #7
Det skal ikke helt se sådan ud:

"SELECT * FROM tblOpgave WHERE refOpgavetyper = " & RS("ID") ORDER BY ID

Du glemmer nemlig at du slutter strengen når du skal tage ID fra det andet recordset. Din kode skal derfor se sådan her ud:

"SELECT * FROM tblOpgave WHERE refOpgavetyper = " & RS("ID") & " ORDER BY ID"

Erstat disse to linier:

SQL2 = "SELECT * FROM tblOpgave WHERE refOpgavetyper = " & RS("ID")
set RS2 = conn.execute(SQL2)

med:

SQL2 = "SELECT * FROM tblOpgave WHERE refOpgavetyper = " & RS("ID") & " ORDER BY ID"
Set RS2 = conn.execute(SQL2)

Håber det hjælper :-)
Avatar billede monstermand Nybegynder
23. juni 2002 - 14:42 #8
Du er for sej!
Avatar billede torbenmelander Nybegynder
23. juni 2002 - 14:52 #9
*LOL* ...Tak for point:-)
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