私は非常に具体的かつ複雑な方法でソートする必要があるデータベースから引き出している項目のリストを持っています。これに対処するために、レコードセット内のすべての情報を含むオブジェクトを作成し、配列で整理しました。これを必要な順序で印刷できます。問題は、すべてのオブジェクトを必要なものに設定した私の "do while rs.eof"の後で、配列自体がしなくても、ループが終了したときに範囲外になることです。私は、オブジェクトがループ内に設定されていることを確認して、動作しますが、Response.Write()に到達するまでに終了します。配列の変更をコピーして貼り付けたelseステートメントが多かれ少なかれ、ループの始めは含めません。任意のヒント?オブジェクトはvbscript/asp classicのスコープから外れています
Else
ReDim Preserve f0(Ubound(f0)+1)
Set tab = new TabletHelper
Set f0(Ubound(f0)) = tab
item = rs("Item")
dest = rs("Destination")
time = rs("DateTime")
f0(Ubound(f0)).setItem(item)
f0(Ubound(f0)).setLocation(dest)
f0(Ubound(f0)).setDateTime(time)
End If
rs.movenext
loop
rs.Close
If Ubound(a045) > 0 then
for i = 1 to Ubound(a045)
Response.Write("<tr><td>"&a045(i).iNum()&"</td><td>"&a045(i).dest()&"</td><td>"&a045(i).dateT()&"</td></tr>")
next
どのオブジェクトですか?ループ内に 'f0' *(' Array')*が設定されていますが、後で 'a045' *(' Array'でもあります)*にアクセスしようとしています。理想的には、これが提供しない[mcve]を提供する必要があります。 – Lankymart
TabletHelperがオブジェクトになります。これは、3つのdatamembers(文字列)を保持するオブジェクトであり、それです。私は、あまり重要ではないコードをあまりにも多く含んでいることを心配していました。私は将来これについてもっと心配する必要があります。 – Naiya55
なぜレコードセットループにtablethelperオブジェクトを設定するのですか?私はループの前にそれを設定し、ループの内部で(再)使用します。 –