3

レコードセットの最後のレコードにいるかどうかを知るにはどうすればよいですか? 私のループは次のとおりです。

<%do while (adoRsTrade.AbsolutePage = iPageCurrent) and (not adoRsTrade.EOF)
NewRep = adoRsTrade("calIncludedRep")%>

私は間に多くのコードを持っていますが、この if ステートメントが重要です。CurRep <> NewRep である限り、提示されているデータの小計が表示されます。これは、次の人のデータセットにあることを意味します

if (CurRep <> NewRep or FirstTime="T" and (not adorsTrade.BOF)) then
  If FirstTime <> "T" then%>
      <TR>
        <td>
            <table class='FontStandardMinus1' border=0 cellPadding=0 align='left' cellSpacing=0 width="100%" bgcolor='#ffffff'>
                 <TR>
                    <td width="59%" align="left"><b>SubTotals<!-- for <%Response.Write(CurRep) %>-->:</b></td>
                    <td width="10%" valign=top align=right><%=FormatNumber(totPrincipal,2)%></td>
                    <td width="7%" valign=top align=right><%=FormatNumber(totInterest,2)%></td>
                    <td width="7%" valign=top align=right><%=FormatNumber(totCommission,2)%></td>
                    <td width="5%" valign=top align=right><%=FormatNumber(totSECFee,2)%></td>
                    <td width="4%" valign=top align=right><%=FormatNumber(totSvcFee,2)%></td>
                    <td width="9%" valign=top align=right><%=FormatNumber(totNet,2)%></td>
                </TR>
            </table>
        </td>
    </TR>
<%end if%>

基本的に、currep <> newrep または firsttime="t" の場合、または ADO レコードセットの最後のレコードである場合は、これが小計でもあると表示する別の条件が必要です。

<%

FirstTime="F"
CurRep = adoRsTrade("calIncludedRep")
adoRsTrade.MoveNext

loop%>

どんな助けでも大歓迎です、前もってありがとう、NickG

4

1 に答える 1

7

レコードセットで MoveNext を呼び出した後、EOF をチェックして、最後のレコードにいるかどうかをテストできます。

例えば:

Do While adoRsTrade.AbsolutePage = iPageCurrent And Not adoRsTrade.EOF
  ' DO SOME STUFF
  ' --------------
  ' --------------
  adoRsTrade.MoveNext
  If adoRsTrade.EOF Then
    ' last record!
    ' DO SOME OTHER STUFF
  End If
Loop
于 2013-03-18T20:59:49.320 に答える