18. maj 2007 - 21:58Der 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
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
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>
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.
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
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.
Ah ja If strLastHoldType = rsqueryHoldOversigt.Fields.Item("HoldType").Value Then skal være: If strLastHoldType <> rsqueryHoldOversigt.Fields.Item("HoldType").Value Then
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.