Błąd wykonania 9

kliknij, aby powiększyć

Błąd wykonania 9 – Subscript out of range

Błąd ten pojawia się w sytuacji odwołania do nieistniejącego elementu, spoza zakresu. 
Może pojawić się np. w przypadku próby odwołania do wartości zmiennej tablicowej spoza zadeklarowanej ilości elementów.
Chcąc go uniknąć – konieczne jest sprawdzenie ilości elementów, skorzystanie z procedury Redim, ewentualnie wprowadenie obsługi błędów. 
Na przykład: 

Public Sub Test1_bład9()
’procedura wywolująca bład
Dim JW() As String ’dynamiczna zmienna tablicowa
Dim k As Integer
k = 5
ReDim JW(k) ’ustalenie górnego zakresu zmiennej 
For i = 1 To 10
’ dla i=6 – pojawia się Run-time Error 9
JW(i) = „Element” & i
Next i
End Sub


Public Sub Test2_bład9()
’procedura bez błędu
Dim JW() As String
Dim k As Integer
k = 5
ReDim JW(5)
For i = 1 To 10
If i < k + 1 Then
JW(i) = „Element” & i
Else
ReDim Preserve JW(i) ’zmiana rozmiaru zmiennej tablicowej
JW(i) = „Element” & i
End If
Next i
End Sub

Inne błędy wykonania VBA (Run-time) są tu:
Błędy wykonania VBA

 

 

DAO Recordset BOF

BOF to właściwość obiektu DAO.Recordset stwierdzająca, czy bieżący kursor jest ustawiony przed pierwszym rekordem zestawu.

kliknij, aby powiększyć

Jeżeli BOF ma wartość True – oznacza to, że kursor znajduje się przed pierwszym zestawem rekordów. 

Jeżeli BOF oraz EOF zwracają wartość True – Recordset nie ma w ogóle rekordów. 


DAO Recordset EOF

EOF to właściwość obiektu DAO.Recordset stwierdzająca, czy bieżący kursor jest ustawiony przy ostatnim rekordzie zestawu.

Jeżeli EOF ma wartość True – oznacza to dojście do końca zestawu rekordów. 

Jeżeli BOF oraz EOF zwracają wartość True – Recordset nie ma w ogóle rekordów. 


kawa dla marzateli

A tu możesz mi postawić kawę: 

buycoffee.to/marzatela