0
我有這樣的代碼存儲所有從外地貨物ID在數組中的記錄叫arrayShipmentID。
Dim conn As New ADODB.Connection
Dim connStr As String
Dim rs As ADODB.Recordset
Dim ShipmentIDSQL As String
Dim arrayShipmentID() As Variant
connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & "P:\PathToTheAccessDatabase\" & "NewVersion.accdb" & ";"
conn.ConnectionString = connStr
conn.Open
' Store Shipment IDs
Set rs = New ADODB.Recordset
ShipmentIDSQL = "SELECT [Shipment ID] FROM 12Dec"
rs.Open ShipmentIDSQL, conn, adOpenStatic, adLockReadOnly, adCmdText
If Not rs.EOF Then
arrayShipmentID = rs.GetRows
End If
Dim i As Integer
For i = 0 To UBound(arrayShipmentID, 2)
Debug.Print arrayShipmentID(0, i)
Next i
Set rs = Nothing
爲了確保它能正常工作我Debug.Print
數組的每個元素。
問題:
此代碼工作的大部分時間,但由於某些原因,有時我得到一個值「下標越界」(而不是181在我的情況)爲MsgBox UBound(arrayShipmentID, 2)
,當然在這種情況下,Debug.Print不會在即時窗口中顯示任何內容。
任何想法可能來自哪裏?