webForumDet fria alternativet

Sortera fr.o.m t.o.m

ASP

4 svar · 208 visningar · startad av Mikro

Medlem sedan sep. 20023 inlägg
Frågan#1

Hej!

Jag har en tabell som har två kolumner. Tabellen heter postnummer. Den första kolumnen heter pnr_nr och innehåller alla sveriges postnummer. Den andra heter pnr_ot och innehåller orten till varje postnummer.

Alla postnummer går inte i nummerföld. Jag skulle därför vilja "bunta" ihop de postnummer som går i nummerföljd och skriva ut dem i två separata celler i en tabell från och till.

Jag vill alltså att resultatet ska hoppa över de postnummer som inte finns i nummerföljden.

ex. 10005 - 10007
10021 - 10140
10500 - 10520

osv....

Snälla kan nån ge mig ett exempel på hur en sån kod skulle kunna se ut?? :birp

Medlem sedan dec. 200012 464 inlägg
#2

Hej och välkommen

dim q,rs,p_p,p_end
q = "select pnr_nr from postnummer order by pnr_nr"
set rs = connect.execute(q)
p_p = 0
p_end = 0
while not rs.eof
    if  clng(rs("pnr_nr") - p_p > 1  then
        if  p_p > 0 then
            if  p_end = p_p then
'bara 1 postnummer i denna svit
                response.write p_p & "<br>"
            else
                response.write p_p & "-" & p_end & "<br>"
            end if
        end if
        p_p = clng(rs("pnr_nr"))
    end if
    p_end = clng(rs("pnr_nr"))
    rs.movenext
wend 
'skriv ut det sista
if  p_end = p_p then
    response.write p_p & "<br>"
else
    response.write p_p & "-" & p_end & "<br>"
end if

ungefär så

Medlem sedan sep. 20023 inlägg
#3

Hej Lars!

Tack för svaret, och välkomnandet!

Koden fungerade men inte riktigt som jag ville, problemet är att jag har lite längre nummerföljder också och då blir resultatet

ex
10120-10121
10122-10123
10124-10125
10126-10127
10128-10129
10130-10131
10132-10133
10134-10135
10136-10137
10138-10139
10151-10152

jag vill liksom att den ska känna av gluggarna oavsett hur stort hoppet är mellan nummerföljderna.

Mvh
Mikaela

Medlem sedan dec. 200012 464 inlägg
#4

Jag ser felet

dim q,rs,p_p,p_end
q = "select pnr_nr from postnummer order by pnr_nr"
set rs = connect.execute(q)
p_p = 0
p_end = 0
while not rs.eof
    if  clng(rs("pnr_nr")) -  [b]p_end[/b] > 1  then
        if  p_p > 0 then
            if  p_end = p_p then
'bara 1 postnummer i denna svit
                response.write p_p & "<br>"
            else
                response.write p_p & "-" & p_end & "<br>"
            end if
        end if
        p_p = clng(rs("pnr_nr"))
    end if
    p_end = clng(rs("pnr_nr"))
    rs.movenext
wend 
'skriv ut det sista
if  p_end = p_p then
    response.write p_p & "<br>"
else
    response.write p_p & "-" & p_end & "<br>"
end if
Medlem sedan sep. 20023 inlägg
#5

aaaaahhhhh, vilken kille! Det fungerar! JÄTTETACK! Jag kommer definitvt tillbaka hit när jag har problem!

Tack snälla du!

/Mikaela

252 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)