Błąd wykonania 3021

kliknij, aby powiększyć

Błąd wykonania 3021 – brak bieżącego rekordu

Błąd występuje, gdy próbuje się odwołać do rekordu w obiekcie Recordset, który jest pusty lub nie zawiera żadnych danych. Innymi słowy, nie ma aktywnego rekordu, do którego można by się odwołać w danym momencie

Chcąc go uniknąć – warto sprawdzić, czy i ile rekordów ma Recordset, czy nie osiągnięto już ostatniego rekordu ewentualnie wprowadzić obsługę błędów. 

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

 

 

Błąd wykonania 438

kliknij, aby powiększyć

Error 438 – Object doesn’t support this property or method

Błąd wykonania 438 – Obiekt nie obsługuje tej właściwości lub metody

Błąd pojawia się w przypadkach błędnego zastosowania parametru.
U mnie wystąpił w takiej procedurze

Public Sub WybierzFolderB()
Dim FD As FileDialog
Dim NazwaPlik As String
Set FD = Application.FileDialog(msoFileDialogFolderPicker)
With FD
.Filters.Add „Obrazy jpg”, „*.jpg”

Kompilacja kodu prawidłowa – Application.FileDialog ma taką właściwość, ale użycie jej parametrem wejściowym msoFileDialogFolderPicker (do zaznaczenia folderu) powoduje konflikt przy dodawaniu filtrów. Takie okno nie pozwala na filtrowanie. 

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

 

 

Błąd wykonania 13

klikni, aby powiększyć

Błąd wykonania 13 – Type mismatch

Błąd ten pojawia się w sytuacji niezgodności typów np. m.in. dodawanie liczby i tekstu itp. 
Zabezpieczeniem przed wystąpieniem tego błędu jest sprawdzenie, czy dana wartość ma prawidłowy typ danych na przykład przez wykorzystanie którejś z funkcji informacyjnych.  

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

 

Błąd wykonania 2505

kliknij, aby powiększyć

Błąd wykonania 2505 – wyrażenie ma nieprawidłową wartość

Przejrzałam dokładnie internet, przepytałam AI i wygląda na to, że jest to bardzo nietypowy błąd i właściwie nic o nim nie wiadomo.
U mnie wystąpił w takiej banalnie prostej procedurze

Private Sub PolecenieSzukaj_Click()
DoCmd.SearchForRecord acDataForm, „SpisKsiazek”, acGoto,”[autor] like '” & „*aga*” & „'”
End Sub

Podpowiedzi do wartości tego argumentu wyglądają tak:

kliknij, aby powiększyć

Formularz otwarty, aktywny, bez blokad. Podobny efekt występuje w przypadku innych wartości parametru 3, prawidłowo działa tylko przy użyciu acFirst i acLast, acNext, acPreview. Sprawdzałam to przy różnych konfiguracjach. Jedyną satysfakcjonująca i logiczną odpowiedź otrzymałam od ChatGPT: w podpowiedziach jes   t błąd. Odnoszą się one bardziej do możliwości acRecord, ale w połączeniu z SearchForRecord – nie pasują i wywołują ten błąd.

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

 

 

Błąd wykonanie 94

kliknij, aby powiększyć

Błąd wykonania 94 – nieprawidłowe użycie Null

Błąd ten pojawia się w sytuacji, gdy następuje odwołanie do wartości Null w miejscu (np. jako argument funkcji), gdzie wartość jest wymagana.
Najlepszym zabezpieczeniem kodu przed tym błędem jest zastosowanie funkcji nz.
Null to nie zero
Przykładowy kod może wyglądać tak:

Private Sub PolecenieSzukaj_Click()
Dim JData As Date
JData = Nz(Me.TOD, Date)
'(…)
End Sub

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