0

以下のように、4行を含むレコードセットについて考えてみます。

Team  NumDocs
OPS10 2
OPS4  1
OPS5  2
OPS7  3

これらを表示するには、表の次の行も検討してください。

<td>
<% If Trim(RS("Team")) = "OPS1" And not RS.EOF Then
Response.Write(RS("NumDocs")) 
RS.MoveNext 
End If%>
</td>
<td>
<% If Trim(RS("Team")) = "OPS10" And not RS.EOF Then
Response.Write(RS("NumDocs")) 
RS.MoveNext
End If%>
</td>
<td>
<% If Trim(RS("Team")) = "OPS2" And not RS.EOF Then
Response.Write(RS("NumDocs")) 
RS.MoveNext 
End If%>
</td>
<td>
<% If Trim(RS("Team")) = "OPS3" And not RS.EOF Then
Response.Write(RS("NumDocs")) 
RS.MoveNext 
End If%>
</td>
<td>
<% If Trim(RS("Team")) = "OPS4" And not RS.EOF Then
Response.Write(RS("NumDocs")) 
RS.MoveNext 
End If%>
</td>
<td>
<% If Trim(RS("Team")) = "OPS5" And not RS.EOF Then
Response.Write(RS("NumDocs")) 
RS.MoveNext 
End If%>
</td>
<td>
<% If Trim(RS("Team")) = "OPS6" And not RS.EOF Then
Response.Write(RS("NumDocs")) 
RS.MoveNext 
End If%>
</td>
<td>
<% If Trim(RS("Team")) = "OPS7" And not RS.EOF Then
Response.Write(RS("NumDocs")) 
RS.MoveNext 
End If%>
</td>
<td>
<% If Trim(RS("Team")) = "OPS8" And Not RS.EOF Then
Response.Write(RS("NumDocs")) 
RS.MoveNext 
End If%>
</td>
<td>
<% If Trim(RS("Team")) = "OPS9" And Not RS.EOF Then
Response.Write(RS("NumDocs")) 
RS.MoveNext 
End If%>
</td>

ヘッダー行には、ハードコードされた10個の見出し、OPS1、OPS10、OPS2などが含まれています。

OPS7の列を構成する上記のセクションは問題なく、「2」の値がセルに書き込まれます。次に、OPS8の次の列でエラーが発生します。OPS7までしか表示されないため、明らかにこれに対する戻り値はありません。これが、IFステートメントにNot EOFを入れた理由ですが、それでもエラーが発生します。

誰かが助けることができますか?

4

2 に答える 2

3

RS.EOF を IF ステートメント EG の最初のチェックに移動する必要があります。

If Trim(RS("Team")) = "OPS9" And Not RS.EOF Then

これに

If Not RS.EOF Then
    If Trim(RS("Team")) = "OPS9" Then
        ... logic here ...
    End If
End If

問題はAnd、クラシック ASP での短絡操作ではないことです。

于 2012-07-16T11:40:30.733 に答える
0

残念ながら、このコードに関連するエラー メッセージはありません。

80020009 = EOF のレコードセットのデータへのアクセス

于 2013-04-17T07:05:15.080 に答える