Sax ActiveX スクリプティング (長い話) を使用すると、同じ return 変数を再利用する 3 つの入れ子になった if ステートメントがあります。スクリプトはおおよそ次のようになります。
Dim rtnArray As Variant
If variable1 <> "" Then
' Perform SQL query against DB2 database
rtnArray = DB2SQLSearch(Query)
If UBound(rtnArray) = 0 Then
' ditto
rtnArray = DB2SQLSearch(Query2)
MsgBox "Gets this far"
If UBound(rtnArray) = 0 Then ' Error!
' Never make it here
奇妙なことに、これと同じコード構造が、私が先週書いたスクリプトで機能していることです。いくつかのクエリと関数の名前を変更しただけです (検索 > 置換)。
2番目のクエリの後、試してみましたMsgBox CStr(rtnArray(0)(0))
が、結果が得られますError 10025 in : Array has a different number of indexes.
エラーコードは次のマニュアルに対応しています:
http://www.ftgsoftware.com/manuals/basic32.pdf