2012-05-07 41 views
7

Tôi có một ứng dụng MS Access và có vấn đề để tìm loại trả về của hàm. Có cách nào để tìm kiểu trả về của đối tượng không? Tôi có lỗi không khớp loại.Cách tìm kiểu trả về trong VBA

Trả lời

12

Nếu đó là chức năng tích hợp, hãy xem chủ đề trợ giúp Access.

Nếu đó là hàm do người dùng xác định, hãy kiểm tra định nghĩa của nó.

Nếu bạn không thể làm như vậy, hãy sử dụng hàm TypeName() để cho bạn biết loại dữ liệu được trả về bởi YourFunction().

Debug.Print TypeName(YourFunction()) 

Nếu YourFunction() trả về một biến thể, TypeName() sẽ cho bạn biết các biến thể kiểu phụ.

Heinzi đề xuất VarType() thay vì TypeName(). Tôi thường xuyên tiếp cận với TypeName() đầu tiên đơn giản bởi vì nó nhanh hơn cho tôi, và tôi hiếm khi quan tâm đến những hạn chế của nó. Tuy nhiên tôi đồng ý với Heinzi; VarType() là tốt hơn.

JP. đưa ra hai gợi ý hữu ích khác. Đầu tiên, bạn có thể tạo một quy trình đơn giản khai báo biến số Biến thể và chỉ định giá trị trả về của hàm cho biến. Sau đó, thêm một điểm ngắt tạm thời (với F9) trên đường dây Debug.Print đầu tiên, chạy thủ tục, sử dụng F8 để di chuyển qua từng dòng và theo dõi giá trị của biến trong Cửa sổ địa phương. (Mở cửa sổ đó từ menu chính các biên tập viên của VB View -.> Người dân địa phương Window)

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

Và thứ hai, cho các chức năng được xây dựng trong đó có một kiểu trả về, bạn có thể tận dụng lợi thế của Intellisense để xem kiểu trả về như bạn đang gõ tên hàm và/hoặc tham số.

+3

+1, lời khuyên rất tốt. Nếu bạn cần thực hiện kiểm tra kiểu khi chạy, tôi khuyên bạn nên sử dụng [VarType function] (http://office.microsoft.com/en-us/access-help/vartype-function-HA001228932.aspx) để thay thế (để tránh dây ma thuật). – Heinzi

+0

+ 1 Đồng ý với Heinzi tại đây :) –

+1

Bạn cũng có thể khai báo biến Biến thể, chạy hàm và gán giá trị trả về của nó cho biến, sau đó kiểm tra giá trị của biến bằng cách sử dụng Cửa sổ cục bộ. Và đối với các hàm dựng sẵn có kiểu trả về, bạn có thể thấy kiểu trả về khi bạn nhập tên hàm và/hoặc tham số. – JimmyPena

Các vấn đề liên quan