Avatar billede mskjoldp Novice
17. december 2004 - 12:50 Der er 2 kommentarer og
1 løsning

Count tæller forkert

Hej E
(IIS5.0 ASP mod Access på Intranet)

I forbindelse med et db udtræk, har jeg fået kreeret at en kolonne kan markeres... det virker fint så længe jeg udtrækker alle rækker i db'en. Og det har også virket fint ved et begrænsert db'udtræk, men i forbindelse med et begrænset db'udtræk stopper markeringen tilfældigt ned gennem kolonnen. Samme koden: trtal = trral + 1, bruges både i fuldt og i begrænsert udtræk.

Først koden der hænter db'udtrækket:
<!--#include virtual="conn.asp" -->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
<body>
<!--#include virtual="menu.htm" -->
<table border="1" bordercolor="#000000" cellpadding="0" cellspacing="0"><tr><td valign="top">
<table border="1"  bordercolor="#000000" cellpadding="2" cellspacing="2">
<%    if session("BrugerNiveau") = "admin" or session("BrugerNiveau") = "o_bruger" then
        if Request.QueryString("esk") = "" then
        if Request.QueryString("MOC_sort") = "" Then
            MOC_sort = "MOC_stelnr"
            hent = "SELECT * FROM stel_nr ORDER BY " & MOC_sort
        else
            MOC_sort = Request.QueryString("MOC_sort")
            hent = "SELECT * FROM stel_nr ORDER BY " & MOC_sort
        end if
        else
            esk = Request.QueryString("esk")
            if Request.QueryString("MOC_sort") = "" then
            MOC_sort = "MOC_stelnr"
            else
            MOC_sort = Request.QueryString("MOC_sort")
            end if
            hent = "SELECT * FROM stel_nr WHERE MOC_lokation='"&esk&"' ORDER BY " & MOC_sort
        end if
            Set rs = Conn.Execute(hent) %>
            <tr>
            <td class="lodret">Halenr</td>
            <td class="lodret">blocknr</td>
            <td class="lodret">MLU</td>
            <td class="lodret">Flyvetimer</td>
            <td class="lodret">timer til SI</td>
            <td class="lodret">Tilhørsforhold</td>
            </tr>
            <tr>
            <td align="center">1</td>
            <td>2</td>
            <td>3</td>
            <td align="center">4</td>
            <td align="center">4.1</td>
            <td align="center">5</td>
            </tr>
    <%'    dim tdtal
                tdtal = 0
            Do Until rs.Eof
                tdtal = tdtal + 1
                fly = rs("MOC_stelnr")
                mstatus = rs("MOC_status")
                loc = rs("MOC_lokation")%>
                <tr>
                <td class="table" height="17px" width="37px" align="center" bgcolor="<%="#"&mstatus%>" ><%=fly%></td>
                <td height="17px" width="19px" align="center" bgcolor="<%="#"&mstatus%>" ><%=rs("MOC_blocknr")%></td>
                <td height="17px" width="19px" align="center" bgcolor="<%="#"&mstatus%>" ><%=rs("MOC_MLU")%></td>
                <td height="17px" width="25px" align="right" bgcolor="<%="#"&mstatus%>" ><%=rs("MOC_minutter")%></td>
                <td height="17px" width="25px" align="right" bgcolor="<%="#"&mstatus%>" ><%=rs("MOC_SI_min")%></td>
                <td height="17px" width="47px" align="center" bgcolor="<%="#"&mstatus%>" ><%=rs("MOC_lokation")%></td>
                </tr>
                <%    rs.Movenext
            Loop %>
    <%    rs.Close
        Set rs = Nothing
    end if%>
</table></td>
<td valign="top">
<div id="Layer1" style="position: relative; width:750; height: auto; z-index:1; visibility: visible; overflow: scroll;">
<table border="1" bordercolor="#000000" cellpadding="2" cellspacing="2">
<%    if session("BrugerNiveau") = "admin" or session("BrugerNiveau") = "o_bruger" then
        if Request.QueryString("esk") = "" then
        if Request.QueryString("MOC_sort") = "" Then
            MOC_sort = "MOC_stelnr"
            hent = "SELECT * FROM stel_nr ORDER BY " & MOC_sort
        else
            MOC_sort = Request.QueryString("MOC_sort")
            hent = "SELECT * FROM stel_nr ORDER BY " & MOC_sort
        end if
        else
            esk = Request.QueryString("esk")
            if Request.QueryString("MOC_sort") = "" then
            MOC_sort = "MOC_stelnr"
            else
            MOC_sort = Request.QueryString("MOC_sort")
            end if
            hent = "SELECT * FROM stel_nr WHERE MOC_lokation='"&esk&"' ORDER BY " & MOC_sort
        end if
        Set rs = Conn.Execute(hent) %>
            <tr>
            <td id="1.1" onclick="markerKolonne(this,'red');">&nbsp;</td>
            <td class="lodret" id="1.2" onclick="markerKolonne(this,'red');">Plan dato</td>
            <td class="lodret" id="1.3" onclick="markerKolonne(this,'red');">Dato ind </td>
            <td class="lodret" id="1.4" onclick="markerKolonne(this,'red');">Dato ud </td>
            <td class="lodret" id="1.5" onclick="markerKolonne(this,'red');">lokation</td>
            <td class="lodret" id="1.6" onclick="markerKolonne(this,'red');">Eftersyn<br>type</td>
            <td class="lodret" id="1.7" onclick="markerKolonne(this,'red');">FCF</td>
            </tr>   
            <tr>
            <td id="2.1" onclick="markerKolonne(this,'red');">&nbsp;</td>
            <td id="2.2" onclick="markerKolonne(this,'red');">6</td>
            <td id="2.3" onclick="markerKolonne(this,'red');">7</td>
            <td id="2.4" onclick="markerKolonne(this,'red');">8</td>
            <td id="2.5" onclick="markerKolonne(this,'red');">9</td>
            <td id="2.6" onclick="markerKolonne(this,'red');">10</td>
            <td id="2.7" onclick="markerKolonne(this,'red');">11</td>
            </tr>
           
<%    dim trtal
            Do Until rs.Eof
                fly = rs("MOC_stelnr")
                loc = rs("MOC_lokation")%>
                <tr onClick="bgColor='#6699FF'" onDblClick="bgColor=''">
                <td height="17px" id="3.1">&nbsp;</td>
        <%    Set rs2 = Conn.Execute("SELECT * FROM status")
                    trtal = 2
                    Do Until rs2.Eof
                        loc2 = rs2("S_enhed")
                        if Request.QueryString("esk") <> "" then
                            if loc = loc2 then
                            trtal = trtal + 1
                            end if
                        else
                            trtal = trtal + 1
                        end if
                    Sstelnr = rs2("S_stelnr")
                    if fly = Sstelnr then %>
                        <td id="<%=trtal%>.2" nowrap height="17px"><%=rs2("S_plan_dato")%><%=" "&trtal%>.2</td>
                        <td id="<%=trtal%>.3" nowrap height="17px"><%=rs2("S_ind_dato")%><%=" "&trtal%>.3</td>
                        <td id="<%=trtal%>.4" nowrap height="17px"><%=rs2("S_ud_dato")%></td>
                        <td id="<%=trtal%>.5" nowrap height="17px"><%=rs2("S_lokation")%></td>
                        <td id="<%=trtal%>.6" nowrap height="17px"><%=rs2("S_bem")%></td>
                        <td id="<%=trtal%>.7" nowrap height="17px"><%=rs2("S_FCF")%></td>
            <%    end if
                    rs2.MoveNext
                    Loop
                    rs2.Close
                Set rs2 = Nothing%>
        <%'    end if%>
                </tr>
    <%    rs.Movenext
            Loop
        rs.Close
        Set rs = Nothing
    end if%>
</table></div>
</td></tr></table>

/Skjold
Avatar billede mskjoldp Novice
17. december 2004 - 12:58 #1
et kald et db'en af denne karakter:

http://localhost/default.asp?mode=flystatus&esk=ESK727

gør at kolonne-markerings-koden:
                    Do Until rs2.Eof
                        loc2 = rs2("S_enhed")
                        if Request.QueryString("esk") <> "" then
                            if loc = loc2 then
                            trtal = trtal + 1
                            end if
                        else
                            trtal = trtal + 1
                        end if
                    Sstelnr = rs2("S_stelnr")
                    if fly = Sstelnr then %>
                        <td id="<%=trtal%>.2" nowrap height="17px"><%=rs2("S_plan_dato")%><%=" "&trtal%>.2</td>
                        <td id="<%=trtal%>.3" nowrap height="17px"><%=rs2("S_ind_dato")%><%=" "&trtal%>.3</td>
                        <td id="<%=trtal%>.4" nowrap height="17px"><%=rs2("S_ud_dato")%></td>
                        <td id="<%=trtal%>.5" nowrap height="17px"><%=rs2("S_lokation")%></td>
                        <td id="<%=trtal%>.6" nowrap height="17px"><%=rs2("S_bem")%></td>
                        <td id="<%=trtal%>.7" nowrap height="17px"><%=rs2("S_FCF")%></td>
            <%    end if
                    rs2.MoveNext
                    Loop
stopper ved 9. udtræk. selv om der er 11 db'udtræk...

hvorfor dette break? Ved et fuldt udtræk er der ingen problemer...

:/
Skjold
Avatar billede mskjoldp Novice
17. december 2004 - 13:01 #2
ved dette kald:
http://localhost/default.asp?mode=flystatus&esk=ESK730

skriver koden:
<td id="<%=trtal%>.2" nowrap height="17px"><%=rs2("S_plan_dato")%><%=" "&trtal%>.2</td>

4.2 to gange efter hinanden, hvorefter 5.2 kommer...
Dette forstår jeg slet ikke.. hvordan kan koden:
trtal = trtal + 1
tælle til 4.2 i et løbende regnestykke, 1, 2, 3, 4, 5, 6 osv... hvordan kan 4 opstå to gange? 1, 2, 3, 4, 4, 5, 6, ..

underligt...
Avatar billede mskjoldp Novice
18. december 2004 - 09:17 #3
lukker
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester