Porównaj ceny domen i usług IT, sprzedawców z całego świata

Jak znaleźć typ zwrotu w VBA


Mam aplikację MS Access i mam problem ze znalezieniem zwracanego typu funkcji. Czy istnieje sposób na znalezienie zwracanego typu obiektu? Mam błąd niedopasowania typu.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Jeśli jest to funkcja wbudowana, zobacz temat Access Help.
Jeśli jest to funkcja niestandardowa, przejrzyj jej definicję.
Jeśli nie możesz tego zrobić, użyj funkcji
TypeName ()
, aby podać typ danych zwracanych przez
YourFunction ()
.
<pre class="lang-vb prettyprint-override">
Debug.Print TypeName(YourFunction())

Jeśli
YourFunction ()
zwraca wariant,
TypeName ()
powie

podtyp
, opcja.
Heinzi zasugerował
VarType ()
zamiast
TypeName ()
. Zwykle skłaniam się najpierw do
TypeName ()
po prostu dlatego, że jest dla mnie szybszy i rzadko martwię się jego ograniczeniami. Jednak zgadzam się z Heinzi;
VarType ()
jest lepsze.
JP. zaproponował jeszcze dwie przydatne sugestie. Po pierwsze, możesz utworzyć prostą procedurę, która deklaruje zmienną

Variant

i przypisuje do niego wartość zwracaną przez twoją funkcję. Następnie dodaj tymczasowy punkt przerwania (z
<kbd>
F9
</kbd>) do pierwszego wiersza
Debug.Print
, uruchom procedurę, użyj
<kbd>
F8
</kbd>
aby poruszać się po nim wiersz po wierszu i obserwować wartość zmiennej w oknie Locals. (Otwórz to okno z głównego menu edytora VB. Widok -> Okno lokalne)
<pre class="lang-vb prettyprint-override">
Public Sub examine_YourFunction()
Dim varFoo As Variant
Debug.Print "start"
varFoo = YourFunction()
Debug.Print varFoo
End Sub

Po drugie, w przypadku funkcji wbudowanych, które mają typ zwracany, można użyć Intellisense, aby zobaczyć typ zwracany podczas wpisywania nazwy funkcji i/lub parametrów.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się