2012-05-07 3 views
7

나는 MS Access 응용 프로그램을 가지고 있으며 함수의 반환 유형을 찾는 데 문제가 있습니다. 객체의 반환 유형을 찾는 방법이 있습니까? 입력 불일치 오류가 있습니다.VBA에서 반환 유형을 찾는 방법

답변

12

기본 제공 함수 인 경우 Access 도움말 항목을 참조하십시오.

사용자 정의 함수 인 경우 정의를 검사하십시오.

둘 다 수행 할 수 없으면 TypeName() 함수를 사용하여 YourFunction()에 의해 반환 된 데이터 유형을 알려줍니다.

Debug.Print TypeName(YourFunction()) 

YourFunction()하면 반환 변형은, TypeName() 당신에게 변형 하위을 알려드립니다.

Heinzi는 TypeName() 대신 VarType()을 제안했습니다. 나는 처음에는 TypeName()에 먼저 손을 댄다. 왜냐하면 그것이 나를 위해 더 빠르기 때문이다. 나는 그 한계에 거의 관여하지 않는다. 그러나 나는 Heinzi에 동의한다. VarType()이 좋습니다.

JP. 다른 두 가지 유용한 제안을했다. 먼저 Variant 변수를 선언하고 함수의 반환 값을 변수에 할당하는 간단한 프로 시저를 만들 수 있습니다. 그런 다음 첫 번째 Debug.Print 줄에 임시 중단 점 (F9)을 추가하고 절차를 실행 한 다음 F8을 사용하여 한 줄씩 이동하고 Locals 창에서 변수 값을 모니터링합니다.

Public Sub examine_YourFunction() 
    Dim varFoo As Variant 
    Debug.Print "start" 
    varFoo = YourFunction() 
    Debug.Print varFoo 
End Sub 

을 그리고 두 번째, 반환 유형이 내장 기능, 당신은 반환 형식으로 볼 수 인텔리 활용할 수 있습니다 - (> 지역 창.보기를 VB 편집기의 주 메뉴에서 해당 창을 엽니 다) 함수 이름 및/또는 매개 변수를 입력합니다.

+3

+1, 아주 좋은 조언. 런타임에 형식 검사를 수행해야하는 경우 [VarType 함수] (http://office.microsoft.com/en-us/access-help/vartype-function-HA001228932.aspx)를 대신 사용하는 것이 좋습니다. (마술 끈을 피하기 위해). – Heinzi

+0

+1 Heinzi와 동의하십시오 :) –

+1

Variant 변수를 선언하고 함수를 실행 한 다음 반환 값을 변수에 할당 한 다음 Locals 창을 사용하여 변수의 값을 확인할 수도 있습니다. 그리고 리턴 유형이있는 내장 함수의 경우, 함수 이름 및/또는 매개 변수를 입력 할 때 리턴 유형을 볼 수 있습니다. – JimmyPena

관련 문제