Hejsan, håller på och ska printa ut information rekursivt i en tabell. Tjena! Eftersom det är en sub och inte en funktion så ska den inte ha någon parentes.Rekursivt
Strukturen ska vara ungefär:
Projekt1
projektmedlem1
projektmedlem2
Projekt2
projektmedlem3
projektmedlem1
Projekt3
Projekt4
projektmedlem1
projektmedlem2
Osv osv.. :)
Man ska alltså utgå från ett Projekt, lista dess medlemmar och sen lista upp projektets subprojekt med sina medlemmar osv.
Allt detta ska listas upp i samma kolumn, och meningen är att man till höger om namnen sen ska kunna timrapportera men det tar jag senare, nu är jag bara intresserad av listningen.
Så här ser min sub ut nu. Den går bara till höger igen, faller aldrig tillbaka.
<code>Sub DoTree(projectID, level)
Dim sql, rs, i
execString = "SELECT tblPerson.PersonID, tblPerson.FirstName+' '+tblPerson.LastName AS PersonName, tblProject.ProjectName FROM tblProject INNER JOIN tblProject_Person ON tblProject_Person.ProjectID = tblProject.ProjectID INNER JOIN tblPerson ON tblPerson.PersonID = tblProject_Person.PersonID WHERE tblProject.ProjectID = "& projectID
'Response.Write execString
Set rs = objCOnn.Execute(execString)
If Not rs.EOF Then
rs.MoveFirst
Response.Write "<tr><td colspan=""2""><b>"
for i = 0 to level * 4-1
Response.Write " " 'För indentering
next
Response.Write rs("ProjectName") &"</b></td><td colspan=""32""> </td></tr>"
rs.MoveFirst
level = level + 1
Do Until rs.EOF
Response.Write "<tr>"
Response.Write "<td colspan=""2"">"
for i = 0 to level * 4-1
Response.Write " "
next
Response.Write rs("PersonName") &"</td>"
'Rita ut personens datum.. gör detta senare
Response.Write "<td colspan=""32""> </td>"
Response.Write "</tr>"
rs.MoveNext
Loop
End If
rs.Close
Set rs = Nothing
execString = "SELECT tblProject.ProjectID, tblProject.ProjectName FROM tblProject WHERE tblProject.ParentProjectID = "& projectID
set rs = objConn.Execute(execString)
do while not rs.EOF
DoTree rs("ProjectID"), level
rs.MoveNext
Loop
End Sub</code>Sv: Rekursivt
Bl.a. saknas det parenteser i sista loopen där funktionen DoTree anropas,
do while not rs.EOF
DoTree(rs("ProjectID"), level) 'Här saknas parenteser
rs.MoveNext
Loop
Dessutom, varifrån får variabeln 'level' sitt värde?
SvenneSv: Rekursivt
Level sätts när jag anropar subben för första gången.
Jag har fått det att funka som jag vill nu även om jag fick trixa lite, göra lite fullösningar och så :)