15. april 2002 - 21:12Der er
5 kommentarer og 2 løsninger
Todimensionelt udtræk fra access
Hej...
Jeg har en database med en kolonne der hedder kategori og en der hedder mainkategori. Jeg vil gerne have stillet en tabel op, med disse værdier.. Det skal være stillet op således
kategori 1,2,3 er selvfølgelig udledt hvor mainkategori er lig med mainkategori 1 dvs. (SELECT kategori WHERE mainkatogori = 'mainkategori 1') (hvis det hjalp lidt mere..
Det er et problem for mig at se, hvordan jeg kan lave min kodning... Jeg har prøvet nedenstående, men det får serveren til at gå ned:::
<% dim I, L(3), sqlmain, sqlsecond, restsecond
sqlmain = "SELECT DISTINCT mainkategori FROM kategori ORDER BY mainkategori" set rest = cn.execute(sqlmain) %>
<table> <% while not rest.eof for I = 1 to 3 if not rest.eof then L(I) = rest("mainkategori") if I = 1 then response.write ("<tr>") end if response.write ("<td class=""headlist"">" & rest("mainkategori") & "</td>") if I = 3 then response.write ("</tr>") end if end if next
for I = 1 to 3 sqlsecond = "SELECT kategori FROM kategori WHERE mainkategori = '" & L(I) & "'" set restsecond = cn.execute(sqlsecond) if I = 1 then response.write ("<tr>") end if response.write ("<td class=""list"">") while not restsecond.eof response.write (restsecond("kategori")) wend response.write ("</td>") if I = 3 then response.write ("</tr>") end if Next wend %>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
end if response.write ("<td class=""list"">") while not restsecond.eof response.write (restsecond("kategori")) restsecond.movenext wend response.write ("</td>") if I = 3 then response.write ("</tr>") end if Next rest.movenext wend %>
..hvis du ikke skriver recordsetnavn.movenext før do looper videre til næste række i dit recordset, bliver du bare stående (og kommer ikke videre til næste række!) ...derfor får du en script timeout, eller du crasher serveren, hvis den ikke kan klare det.
nu ved jeg selvfølgelig ikke, om din html og øvrige aspkode fungerer, sådan at det hele står som det skal, når du udskriver hele recordsettet.
Hehe... fedt nok.. tak for hjælpen kimiwan - skidtet ser ud til at virke perfekt.. så egentlig er jeg slet ikke så dum igen (pudser lige glorien)... skal jo bare lige huske de der skide movenext je tjekker lige op omkring at det nu virker helt i overensstemmelse med det, det skulle, men I'll be back...
ja, det er nok ikke sidste gang, du har glemt movenext.. men med tiden lærer du at opdage din fejl i løbet af 1-2 sekunder, når du loader siden med fejlen første gang ;o)
skidtet virker nu... det var dog ikke helt rigtig med de movenext placeringer.. der mangler en... men det er ok
Sådan her er den endelige løsning:
<% dim I, L(3), sqlmain, sqlsecond, restsecond
sqlmain = "SELECT DISTINCT mainkategori FROM kategori ORDER BY mainkategori" set rest = cn.execute(sqlmain) %>
<table> <% while not rest.eof for I = 1 to 3 if not rest.eof then L(I) = rest("mainkategori") if I = 1 then response.write ("<tr>") end if response.write ("<td class=""headlist"">" & rest("mainkategori") & "</td>") if I = 3 then response.write ("</tr>") end if end if rest.movenext next
for I = 1 to 3 sqlsecond = "SELECT kategori FROM kategori WHERE mainkategori = '" & L(I) & "'" set restsecond = cn.execute(sqlsecond) if I = 1 then response.write ("<tr>") end if response.write ("<td class=""list"">") while not restsecond.eof response.write (restsecond("kategori") & "<br>") restsecond.movenext wend response.write ("</td>") if I = 3 then response.write ("</tr>") end if Next rest.movenext wend %>
tillykke :o) selvom jeg ikke helt kan se, hvordan du kunne tage halvdelen af pointene tilbage for det!! (?)
Synes godt om
Ny brugerNybegynder
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.