Mam aplikację MS Access i mam problem ze znalezieniem funkcji zwracania funkcji. Czy istnieje sposób na znalezienie typu zwrotu? Mam błąd niedopasowania typu.Jak znaleźć typ zwrotu w VBA
Odpowiedz
Jeśli jest to wbudowana funkcja, spójrz na temat pomocy Access.
Jeśli jest to funkcja zdefiniowana przez użytkownika, sprawdź jej definicję.
Jeśli nie możesz wykonać żadnej z nich, użyj funkcji TypeName()
, aby podać typ danych zwróconych przez YourFunction()
.
Debug.Print TypeName(YourFunction())
If YourFunction()
powraca wariant, TypeName()
powie wariant podtyp.
Heinzi zasugerował VarType()
zamiast TypeName()
. Zwykle sięgam po numer TypeName()
po prostu dlatego, że jest dla mnie szybszy i rzadko jestem zaniepokojony jego ograniczeniami. Jednak zgadzam się z Heinzi; VarType()
jest lepszy.
JP. zaproponował dwie inne przydatne sugestie. Najpierw można utworzyć prostą procedurę, która deklaruje zmienną Wariant i przypisać wartość zwracaną przez funkcję do zmiennej. Następnie dodaj tymczasowy punkt przerwania (z F9) na pierwszej linii Debug.Print
, uruchom procedurę, użyj F8, aby przejść przez nią linia po linii i monitoruj wartość zmiennej w oknie Locals. (Otwórz to okno z głównego menu VB redaktora view -.> Locals okno)
Public Sub examine_YourFunction()
Dim varFoo As Variant
Debug.Print "start"
varFoo = YourFunction()
Debug.Print varFoo
End Sub
A po drugie, dla wbudowanych funkcji, które mają typ zwracany, można skorzystać z IntelliSense aby zobaczyć typ zwracany jako wpisujesz nazwę funkcji i/lub parametry.
- 1. Jak znaleźć typ zwrotu metody w języku JAVA?
- 2. Spliterator typ zwrotu trySplit
- 3. Typ zwrotu z Komparatora
- 4. Typ dynamicznego zwrotu Java?
- 5. Co oznacza typ zwrotu Void w Kotlin
- 6. Zmienna rodzajowy typ zwrotu w języku C#
- 7. zły typ zwrotu w wyrażeniu lambda
- 8. Jak znaleźć różnicę między datami w VBA
- 9. Jak uzyskać typ zwrotu przeciążonej metody w C++?
- 10. Jak obsłużyć typ zwrotu FileStream w poście .ajax?
- 11. Typ zwrotu kolekcji z LINQ kwerendy
- 12. Lambda zwracająca lambdę nieprawidłowo podaje typ zwrotu?
- 13. Czy mój typ zwrotu musi być zdefiniowany?
- 14. jaki jest typ zwrotu operatora przypisania?
- 15. typ zwrotu przed lub po __declspec?
- 16. decltype jako typ zwrotu w funkcji członka klasy
- 17. VBA. Jak znaleźć pozycję pierwszej cyfry w ciągu znaków
- 18. Scala REPL: Jak znaleźć typ funkcji?
- 19. RecyclerView onCreateViewHolder Typ zwrotu Niekompatybilność z wieloma niestandardowymi widokami ViewHolders
- 20. Jak wcześnie dokonać zwrotu bloku?
- 21. Jak mogę znaleźć typ var/name w Actionscript3?
- 22. VBA Public Array: jak?
- 23. wiele wartości zwrotu w funkcji
- 24. VBA Powerpoint. Jak uzyskać aktualną ścieżkę do pliku w VBA?
- 25. Rubinowa alternatywa dla typu zwrotu pustego
- 26. Typy zwrotu WebApi 2
- 27. Gdzie mogę znaleźć stałą HOST_E_CLRNOTAVAILABLE (typ HRESULT)?
- 28. jQuery Wartość zwrotu niezdefiniowana
- 29. wzór pracy zwrotu plonu
- 30. Pass vba Dictionary
+1, bardzo dobra rada. Jeśli musisz wykonać sprawdzenie typu w czasie wykonywania, sugeruję zamiast tego użyć funkcji [funkcja VarType] (http://office.microsoft.com/en-us/access-help/vartype-function-HA001228932.aspx) (aby uniknąć magicznych ciągów). – Heinzi
+ 1 Zgadzam się z Heinzi tutaj :) –
Można również zadeklarować zmienną Wariant, uruchomić funkcję i przypisać jej wartość zwracaną do zmiennej, a następnie sprawdzić wartość zmiennej za pomocą okna Locals. W przypadku wbudowanych funkcji, które mają typ zwracany, można zobaczyć typ zwracany podczas wpisywania nazwy funkcji i/lub parametrów. – JimmyPena