Avatar billede felixcat Nybegynder
18. maj 2007 - 21:58 Der er 14 kommentarer og
1 løsning

List af recordset

Hej
Jeg har denne query:

SELECT City.City, Hold.HoldType, Kommentar.Kommentar, Ugedag.Ugedag, Holdoversigt.Hold, Holdoversigt.Pris, Holdoversigt.saeson, Holdoversigt.Tid FROM ((((Holdoversigt LEFT JOIN Kommentar ON Kommentar.kommentarId=Holdoversigt.kommentarRef) LEFT JOIN Ugedag ON Ugedag.UgedagId=Holdoversigt.UgeDagRef) LEFT JOIN Hold ON Hold.holdId=Holdoversigt.holdRef) LEFT JOIN City ON City.CityId=Holdoversigt.Cityref)

den lister så alle records i tabellerne. fint fint

jeg har så et loop

<table border="0">
  <tr>
    <td>City</td>
    <td>HoldType</td>
    <td>Kommentar</td>
    <td>Ugedag</td>
    <td>Hold</td>
    <td>Pris</td>
    <td>saeson</td>
    <td>Tid</td>
  </tr>
  <% While ((Repeat4__numRows <> 0) AND (NOT rsqueryHoldOversigt.EOF)) %>
    <tr>
      <td><%=(rsqueryHoldOversigt.Fields.Item("City").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("HoldType").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Kommentar").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Ugedag").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Hold").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Pris").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("saeson").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Tid").Value)%></td>
    </tr>
    <%
  Repeat4__index=Repeat4__index+1
  Repeat4__numRows=Repeat4__numRows-1
  rsqueryHoldOversigt.MoveNext()
Wend
%>
</table>

nu vil jeg gerne have holdt disse to records ude af loopet. dvs de skal være overskrifter
<%=(rsqueryHoldOversigt.Fields.Item("holdtype").Value)%>
<%=(rsqueryHoldOversigt.Fields.Item("Kommentar").Value)%>

jeg ved godt at det er noget med at lave et loop til men hvordan er det lige man gør
Avatar billede w13 Novice
18. maj 2007 - 22:28 #1
Jeg er ikke helt med. Hvordan vil du have, de skal være overskrifter? Hvordan skal de stå i forhold til resten af Fields.Item(something).Value?
Avatar billede felixcat Nybegynder
18. maj 2007 - 22:37 #2
det skal se sådan ud

holdtype
kommentar
loop
<td><%=(rsqueryHoldOversigt.Fields.Item("City").Value)%></td>
<td><%=(rsqueryHoldOversigt.Fields.Item("Ugedag").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Hold").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Pris").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("saeson").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Tid").Value)%></td>

ny holdtype
ny kommentar
loop
<td><%=(rsqueryHoldOversigt.Fields.Item("City").Value)%></td>
<td><%=(rsqueryHoldOversigt.Fields.Item("Ugedag").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Hold").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Pris").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("saeson").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Tid").Value)%></td>
osv

men nu udskriver den holdtype, kommentar for hver record
det skal grupperes efter
holdtype, kommentar

på forhånd tak
Avatar billede w13 Novice
18. maj 2007 - 22:44 #3
Ok, jeg tror jeg har den så.
Linjen  <% While ((Repeat4__numRows <> 0) AND (NOT rsqueryHoldOversigt.EOF)) %> starter loop og og WEnd stopper loop'en. Men de skal ikke stå uden for loop, når de skal skrives hver gang. De skal bare stå lige fefter loop-start. Jeg ville gøre således:
-----------------------------------------------
<table border="0">
  <tr>
    <td>City</td>
    <td>HoldType</td>
    <td>Kommentar</td>
    <td>Ugedag</td>
    <td>Hold</td>
    <td>Pris</td>
    <td>saeson</td>
    <td>Tid</td>
  </tr>
  <% While ((Repeat4__numRows <> 0) AND (NOT rsqueryHoldOversigt.EOF)) %>
    <tr>
      <td><%=(rsqueryHoldOversigt.Fields.Item("HoldType").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Kommentar").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("City").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Ugedag").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Hold").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Pris").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("saeson").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Tid").Value)%></td>
    </tr>
    <%
  Repeat4__index=Repeat4__index+1
  Repeat4__numRows=Repeat4__numRows-1
  rsqueryHoldOversigt.MoveNext()
Wend
%>
</table>
Avatar billede felixcat Nybegynder
18. maj 2007 - 22:52 #4
jeg har svært ved at se forskellen - ??? hvad er det du mener
Avatar billede w13 Novice
18. maj 2007 - 22:56 #5
Jeg har blot lagt:
      <td><%=(rsqueryHoldOversigt.Fields.Item("HoldType").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Kommentar").Value)%></td>
Over de andre. På den måde vil de blive vist først hver gang.. Nåå ja. Selvfølgelig. Glemte det vigtigte.. øjeblik.
Avatar billede w13 Novice
18. maj 2007 - 22:57 #6
<table border="0">
  <tr>
    <td>City</td>
    <td>Ugedag</td>
    <td>Hold</td>
    <td>Pris</td>
    <td>saeson</td>
    <td>Tid</td>
  </tr>
  <% While ((Repeat4__numRows <> 0) AND (NOT rsqueryHoldOversigt.EOF)) %>
    <tr>
      <td colspan="3"><%=(rsqueryHoldOversigt.Fields.Item("HoldType").Value)%></td>
      <td colspan="3"><%=(rsqueryHoldOversigt.Fields.Item("Kommentar").Value)%></td>
    </tr>
    <tr>
      <td><%=(rsqueryHoldOversigt.Fields.Item("City").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Ugedag").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Hold").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Pris").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("saeson").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Tid").Value)%></td>
    </tr>
    <%
  Repeat4__index=Repeat4__index+1
  Repeat4__numRows=Repeat4__numRows-1
  rsqueryHoldOversigt.MoveNext()
Wend
%>
</table>
Avatar billede felixcat Nybegynder
18. maj 2007 - 23:03 #7
jamen
<td colspan="3"><%=(rsqueryHoldOversigt.Fields.Item("HoldType").Value)%></td>
      <td colspan="3"><%=(rsqueryHoldOversigt.Fields.Item("Kommentar").Value)%></td>
skal kun vises en gang så looper den igennem de andre records som passer til holdtype
færdig med det loop
ny holdtype kommentar
osv
Avatar billede w13 Novice
18. maj 2007 - 23:06 #8
Uh, okay, ja, så bliver det lidt mere spændende. Jeg ser lige på det. =)
Avatar billede w13 Novice
18. maj 2007 - 23:11 #9
Sorter lige din SQL-sætning efter HoldType.

Og så brug i stedet for loop'et:
--------------------------------
<table border="0">
  <tr>
    <td>City</td>
    <td>Ugedag</td>
    <td>Hold</td>
    <td>Pris</td>
    <td>saeson</td>
    <td>Tid</td>
  </tr>
  <% While ((Repeat4__numRows <> 0) AND (NOT rsqueryHoldOversigt.EOF))

  If strLastHoldType = rsqueryHoldOversigt.Fields.Item("HoldType").Value Then%>
    <tr>
      <td colspan="3"><%=(rsqueryHoldOversigt.Fields.Item("HoldType").Value)%></td>
      <td colspan="3"><%=(rsqueryHoldOversigt.Fields.Item("Kommentar").Value)%></td>
    </tr>
  End If
  strLastHoldType = rsqueryHoldOversigt.Fields.Item("HoldType").Value%>
    <tr>
      <td><%=(rsqueryHoldOversigt.Fields.Item("City").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Ugedag").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Hold").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Pris").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("saeson").Value)%></td>
      <td><%=(rsqueryHoldOversigt.Fields.Item("Tid").Value)%></td>
    </tr>
    <%
  Repeat4__index=Repeat4__index+1
  Repeat4__numRows=Repeat4__numRows-1
  rsqueryHoldOversigt.MoveNext()
Wend
%>
</table>
------------------------------------
Jeg tror det virker, men har ikke prøvet det.
Avatar billede felixcat Nybegynder
18. maj 2007 - 23:37 #10
nej den lister stadig holdtype, kommentar udfor hver record
Avatar billede w13 Novice
18. maj 2007 - 23:40 #11
Ah ja
If strLastHoldType = rsqueryHoldOversigt.Fields.Item("HoldType").Value Then
skal være:
If strLastHoldType <> rsqueryHoldOversigt.Fields.Item("HoldType").Value Then
Avatar billede felixcat Nybegynder
18. maj 2007 - 23:45 #12
jeps det virker
Jeg vil gerne have den først sorterer på holdtype ( det er den nu) og derefter på city.
Kan det lade sig gøre
Avatar billede w13 Novice
18. maj 2007 - 23:48 #13
Ja, hvis du bruger Order By er det bare:
ORDER BY holdtype, city
Avatar billede felixcat Nybegynder
18. maj 2007 - 23:52 #14
tak for hjælpen
Avatar billede w13 Novice
19. maj 2007 - 00:03 #15
Det var så lidt! :) Og takker 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