Avatar billede alsingeren Nybegynder
05. september 2004 - 12:42 Der er 8 kommentarer og
1 løsning

Udtræk fra en tabel som skal sorteres (access)

Jeg har en medlemsdatabase hvor jeg fint kan liste hele tabellen med: SQL4="SELECT * FROM adresser ORDER BY GRUPPE" på en side.

I kolonnen GRUPPE er de forskellige medlemmer sorteret i undergrupper:
0-1
0-2
0-3
1-1
1-2
1-3
1-4
osv.
Er der nogle der har de "vise sten" til hvordan jeg kan "præsentere medlemmerne" på en side som ser ud dette:

0-1
0-2
0-3
-----
1-1
1-2
1-3
1-4
-----
2-1
2-2
2-3
-----
osv.

Således at hver "undergruppe" står hver for sig på den samme side
Håber det er skrevet forståeligt.
På forhånd tak.
/Carsten (som ikke er en asp haj endnu)
Avatar billede glen5000 Nybegynder
05. september 2004 - 14:00 #1
Hej Carsten

Du kan lave det sådan, hvis jeg har forstået dig ret :)
if not rs.eof
  gruppe = left(rs("gruppe"), InStr(rs("gruppe"),"-")-1)

  do
      if left(rs("gruppe"), InStr(rs("gruppe"),"-")-1) <> gruppe then
        gruppe = left(rs("gruppe"), InStr(rs("gruppe"),"-")-1)
        response.write "-------<br>"
      end if
      response.write rs("gruppe") &"<br>"
      rs.MoveNext
  loop
end if

/Glen
Avatar billede alsingeren Nybegynder
05. september 2004 - 14:29 #2
Hej Glen.
Som sagt, så er jeg ikke en asp haj.
Jeg sender lige koden hvor siden lister alle brugere "ud i ét", håber du kan/vil hjælpe med at placere din kode så siden listes rigtig :o)
/Carsten
--------- START---------
<!--#include file="DBconnectL.asp"-->
<html>

<head>
<title></title>
</head>

<body>
<b>Telefonlisten</b><br>
<table border="0" id="table1" cellspacing="0" cellpadding="2">
<tr>
<td colspan="9">&nbsp;</td>
<td width="1">
</td>
<td colspan="2" align="center">
<p align="center"><b><font face="System" size="2">Aktiv i følgende gruppe/r:</font></b></td>
</tr>
<tr>
<td bordercolor="#E8E8E8"><b><font face="System" size="2">Gruppe</font></b></td>
<td bordercolor="#E8E8E8"><b><font face="System" size="2">Fornavn</font></b></td>
<td bordercolor="#E8E8E8"><b><font face="System" size="2">Efternavn</font></b></td>
<td bordercolor="#E8E8E8"><b><font face="System" size="2">Adresse</font></b></td>
<td bordercolor="#E8E8E8"><b><font face="System" size="2">Post nr.</font></b></td>
<td bordercolor="#E8E8E8"><b><font face="System" size="2">By</font></b></td>
<td bordercolor="#E8E8E8"><b><font face="System" size="2">Email</font></b></td>
<td bordercolor="#E8E8E8"><b><font face="System" size="2">Telefon</font></b></td>
<td bordercolor="#E8E8E8"><b><font face="System" size="2">Mobiltelefon</font></b></td>
<td bordercolor="#E8E8E8" width="1"></td>
<td align="center" bordercolor="#E8E8E8"><b><font face="System" size="2">Detektor</font></b></td>
<td align="center" bordercolor="#E8E8E8"><b><font face="System" size="2">Udgravning</font></b></td>

</tr>
<%
    SQL4="SELECT * FROM adresser ORDER BY GRUPPE"
    set RS4 = E.Execute(SQL4)   
    DO WHILE NOT RS4.EOF                   
        GRUPPE=                RS4("GRUPPE")
        FORNAVN=            RS4("FORNAVN")
        EFTERNAVN=            RS4("EFTERNAVN")
        ADRESSE=            RS4("ADRESSE")
        POSTNR=                RS4("POSTNR")
        BYNAVN=                RS4("BYNAVN")
        EMAIL=                RS4("EMAIL")
        TELEFON=            RS4("TELEFON")
        MOBILTELEFON=        RS4("MOBILTELEFON")
        DETEKTORGRUPPE=        RS4("DETEKTORGRUPPE")
        UDGRAVNINGSGRUPPE=    RS4("UDGRAVNINGSGRUPPE")
        %>
       
        <tr>
        <td bgcolor="#E2E2E2"><font size="2"><b><%=GRUPPE%>&nbsp;</b></font></td>
        <td bgcolor="#E2E2E2"><font size="2"><b><%=FORNAVN%>&nbsp;</b></font></td>
        <td bgcolor="#E2E2E2"><font size="2"><b><%=EFTERNAVN%>&nbsp;</b></font></td>
        <td bgcolor="#E2E2E2"><font size="2"><%=ADRESSE%>&nbsp;</font></td>
        <td bgcolor="#E2E2E2"><font size="2">
        <p align="center"><%=POSTNR%>&nbsp;</font></td>
        <td bgcolor="#E2E2E2"><font size="2"><%=BYNAVN%>&nbsp;</font></td>
        <td bgcolor="#E2E2E2"><font size="2"><%=EMAIL%>&nbsp;</font></td>
        <td bgcolor="#E2E2E2"><font size="2"><%=TELEFON%>&nbsp;</font></td>
        <td bgcolor="#E2E2E2"><font size="2">
        <p align="center"><%=MOBILTELEFON%>&nbsp;</font></td>
        <td width="1"></td>
        <td bgcolor="#E2E2E2" align="center"><font size="2"><%=DETEKTORGRUPPE%>&nbsp;</font></td>
        <td bgcolor="#E2E2E2" align="center"><font size="2"><%=UDGRAVNINGSGRUPPE%>&nbsp;</font></td>
        </tr>

        <%
        RS4.MoveNext
    Loop
    RS4.close   
%>
</table>


</body>

</html>
Avatar billede alsingeren Nybegynder
05. september 2004 - 14:34 #3
Glemte at nævne at grundet til medlemmerne er kaldt
0-1
0-2
0-3 osv. i kolonnen GRUPPER
er for at kunne sortere medlemmerne rigtigt, hvor 0-1 er "første" mand på telefonlisten i hver undergruppe
Avatar billede glen5000 Nybegynder
05. september 2004 - 14:42 #4
Nu er det ingen grund til at poste hele koden igen, så jeg poster kun lige det omkring loopet :)

<%
    SQL4="SELECT * FROM adresser ORDER BY GRUPPE"
    set RS4 = E.Execute(SQL4)
    if not rs4.eof then   
      HovedGruppe = left(rs4("GRUPPE"), InStr(rs4("GRUPPE"),"-")-1)
      DO                   
          GRUPPE=                RS4("GRUPPE")
          FORNAVN=            RS4("FORNAVN")
          EFTERNAVN=            RS4("EFTERNAVN")
          ADRESSE=            RS4("ADRESSE")
          POSTNR=                RS4("POSTNR")
          BYNAVN=                RS4("BYNAVN")
          EMAIL=                RS4("EMAIL")
          TELEFON=            RS4("TELEFON")
          MOBILTELEFON=        RS4("MOBILTELEFON")
          DETEKTORGRUPPE=        RS4("DETEKTORGRUPPE")
          UDGRAVNINGSGRUPPE=    RS4("UDGRAVNINGSGRUPPE")
         

          if left(GRUPPE, InStr(GRUPPE,"-")-1) <> HovedGruppe then
            HovedGruppe = left(GRUPPE, InStr(GRUPPE,"-")-1)
            response.write "<td>-----------------------</td>"
          end if
          %>
       
          <tr>
          <td bgcolor="#E2E2E2"><font size="2"><b><%=GRUPPE%>&nbsp;</b></font></td>
          <td bgcolor="#E2E2E2"><font size="2"><b><%=FORNAVN%>&nbsp;</b></font></td>
          <td bgcolor="#E2E2E2"><font size="2"><b><%=EFTERNAVN%>&nbsp;</b></font></td>
          <td bgcolor="#E2E2E2"><font size="2"><%=ADRESSE%>&nbsp;</font></td>
          <td bgcolor="#E2E2E2"><font size="2">
          <p align="center"><%=POSTNR%>&nbsp;</font></td>
          <td bgcolor="#E2E2E2"><font size="2"><%=BYNAVN%>&nbsp;</font></td>
          <td bgcolor="#E2E2E2"><font size="2"><%=EMAIL%>&nbsp;</font></td>
          <td bgcolor="#E2E2E2"><font size="2"><%=TELEFON%>&nbsp;</font></td>
          <td bgcolor="#E2E2E2"><font size="2">
          <p align="center"><%=MOBILTELEFON%>&nbsp;</font></td>
          <td width="1"></td>
          <td bgcolor="#E2E2E2" align="center"><font size="2"><%=DETEKTORGRUPPE%>&nbsp;</font></td>
          <td bgcolor="#E2E2E2" align="center"><font size="2"><%=UDGRAVNINGSGRUPPE%>&nbsp;</font></td>
          </tr>

          <%
          RS4.MoveNext
      Loop WHILE NOT RS4.EO
  end if
  RS4.close   
  %>


/Glen
Avatar billede alsingeren Nybegynder
05. september 2004 - 14:51 #5
Kommer med en fejl:
Microsoft VBScript runtime error '800a01b6'
Object doesn't support this property or method: 'EO'

/adresser2/members3.asp, line 77

line 77 er denne:Loop WHILE NOT RS4.EO
Avatar billede alsingeren Nybegynder
05. september 2004 - 14:53 #6
Ups manglede et F i linien.
Du skal have mang tak Glen det kører bare på skinner :o)
Smider du lige et svar, så kommer du med i min aftensbøn..
/Carsten
Avatar billede glen5000 Nybegynder
05. september 2004 - 14:54 #7
ups glemt det f

Ret denne linie
Loop WHILE NOT RS4.EO
Til dette
Loop WHILE NOT RS4.EOF
Avatar billede alsingeren Nybegynder
05. september 2004 - 14:58 #8
Tak Glen.
Avatar billede glen5000 Nybegynder
05. september 2004 - 15:02 #9
Selv tak :)
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