03. august 2005 - 21:44Der er
14 kommentarer og 1 løsning
Udtræk af database
Hej, jeg har et spørgsmål ang. udtræk af en database. Jeg har nogle emner der er listet fx som:
ID Emnenr Navn Mode
1 6000 XXX HVG 2 XXX AFV 3 XXX AFV 4 8000 XXX HVG
Hvor hver emne går fra den møder et emnenr felt med nyt emnenr. Dvs. at der kan være en masse under et emnenr som intet nr. har. Kan man lave udtræk Fra et fyldt felt indtil looped møder endnu et fyldt?
Ved ikke om det er helt forståeligt, men på forhånd tak for hjælpen :)
du kan evt vælge det hele og så tage det fra i loopet -- set rs = conn.execute("select * from tabel order by id") emnenr = "" do while not rs.eof if emnenr = "" then emnenr = rs("Emnenr") elseif rs("Emnenr") <> "" then exit do end if rs.movenext loop --- Det kræver selvfølgelig at din struktur er i orden og at de ligger i ID orden som du har skrevet
uden for if sætningen sætter du så den kode som kan skrive ud eller hvad du nu ønsker hvis du ønsker en speciel størrelse kan du sætte den --- set rs = conn.execute("select * from tabel order by id") nr = 8000 emnenr = "" do while not rs.eof if rs("Emnenr") = nr or emnenr = nr then if rs("Emnenr") <> nr then exit do else emnenr = nr //kode som udskriver osv end if end if end if rs.movenext loop ---
vrøvl, sådan her cirka ---- set rs = conn.execute("select * from tabel order by id") nr = 8000 emnenr = "" do while not rs.eof if rs("Emnenr") = nr or emnenr = nr then if rs("Emnenr") <> nr and rs("Emnenr") <> "" then exit do else emnenr = nr //kode som udskriver osv end if end if rs.movenext loop
Ja ville jeg også bus, men det er noget der løbende skal kopieres fra excel, hvor det er bygget op som jeg skrev, så lige der kan der ikke gøres noget ved det :(
Du har angivet et nr. 8000, men det skal gerne være sådan at den automatisk tager de næste emner i databsen
Du skrev du ønskede fra et fyldt til et andet Når jeg har skrevet 8000 bør den give dig alt fra den støder på 8000 til næste gang den støder på et tal -- Nu siger du den automatisk skal tage de næste også? Hvis du vil have dem alle skal du jo bare løbe dem igennem Eller har jeg misforstået noget
ok noget paging halløj, ved ski ikke hvad der er nemmest i din situation, men her er et forslag ---- ' Køres første gang der vælges et nummer if request.form("nummer") <> "" then set rs = conn.execute("select * from tabel order by id") nr = cint(request.form("nummer")) session("min") = "" session("max") = "" session("aktuel") = "" do while not rs.eof ' Køres første gang nummeret findes if rs("Emnenr") = nr or emnenr <> "" then ' Køres når der findes et nyt nummer (kræver at ID er i konstant rækkefølge!) if rs("Emnenr") <> nr and rs("Emnenr") <> "" then session("max") = rs("ID")-1 exit do ' Køres første gang nummeret findes elseif min = "" then session("min") = rs("ID") session("aktuel") = session("min") end if end if rs.movenext loop ' udskriv den første set rs = conn.execute("select * from tabel Where ID = "&session("min")) response.write rs("ID")&" "&rs("Emnenr")&" "&rs("Navn")&" "&rs("Mode") udskrivLinks ' Køres ved klik på et link til næste side elseif request.querystring("aktuel") <> "" then session("aktuel") = request.querystring("aktuel") udskrivLinks end if
' metode til at udskrive links til næste sider Sub udskrivLinks() count = 1 for i=session("min") to session("max") if i=session("aktuel") then response.write count&" " else response.write "<a href=""default.asp?aktuel="&i&""">"&count&"</a>" end if count = count+1 Next End Sub
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.