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.
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.
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
Błąd ten pojawia się w sytuacji, gdy następuje odwołanie do ścieżki na dysku, która nie istnieje.
Najlepszym zabezpieczeniem kodu przed tym błędem jest tu po prostu wcześniejsze sprawdzenie, czy ścieżka istnieje.
Przykładowy kod może wyglądać tak:
Public Function CzyKatalog(Jaki_Adres as string) If Dir(Jaki_Adres, vbDirectory) = „” Then
CzyKatalog=False
Else
CzyKatalog=True End If` End Sub
Błąd ten pojawia się w sytuacji, gdy występuje błędna nazwa pliku, do którego się odwołujemy. Nie chodzi tu o przypadek, gdy pliku nie ma (to wywołuje błąd wykonania 53), ale o sytuację, gdy w nazwie pliku występuje któryś z niedozwolonych znaków m.in. !, \, „”, >, <, %, #, ?, *,:,%.