2012-04-14 28 views
15

Sử dụng VBA với Access 2010, tôi có một phụ:nhiều tàu ngầm luận VBA

Public Sub setInterest(account As String, dmonth As Integer) 
    ...somecode... 
End Sub 

Và tôi gọi đó là với

setInterest("myAccount",3) 

Và tôi nhận được lỗi cú pháp.
Sửa đổi phụ để chỉ nhận một đối số và bỏ qua 3 đối số không có lỗi, vấn đề chỉ xảy ra khi tôi có 2 đối số.

+1

bản sao của [Gọi một Sub trong VBA] (http://stackoverflow.com/questions/7715044/calling-a-sub- in-vba) ... và nhiều thứ khác. Vấn đề này đã được trả lời nhiều lần rồi. –

Trả lời

34

Khi sử dụng nhiều tranh cãi, bạn có thể viết:

setInterest "myAccount", 3 

Hoặc

Call setInterest("myAccount", 3) 

Trong cả hai ví dụ bạn có thể đặt tên các đối số:

setInterest account:="myAccount", dmonth:= 3 
+3

Không biết nếu có gì lạ hơn khi đối mặt với toàn bộ trái đất! Đã dành hai giờ để đấu tranh với điều đó. ÔI TRƠI :( –

0

tôi thêm câu trả lời này, cho Tại sao cú pháp của bạn hoạt động với một đối số?

Public Sub setInterest(account As String) 
    '...somecode... 
End Sub 

setInterest ("myAccount") 

Lưu ý:
Khi không có bất kỳ , giữa (), VBA nghĩ đó là một công thức và chính xác một đối số.

Khi công thức tính toán kết quả sẽ là như thế này:

Dim str As String 
str = ("TEST") 
Debug.Print str 

[Output:] 
TEST 
Các vấn đề liên quan