2012-04-14 4 views
15

Utilizzando VBA con Access 2010, ho un sub:più subs di argomento VBA

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

E io chiamo con

setInterest("myAccount",3) 

e ottengo errori di sintassi.
Modificare il sub per prendere solo un argomento e lasciare fuori il 3 non dà errori, il problema è solo quando ho 2 argomenti.

+1

duplicato di [Chiamata di un sub in VBA] (http://stackoverflow.com/questions/7715044/calling-a-sub- in-vba) ... e molti altri. Questo problema ha avuto risposta più volte. –

risposta

34

Quando si utilizzano più argomenti, è possibile scrivere:

setInterest "myAccount", 3 

O

Call setInterest("myAccount", 3) 

In entrambi gli esempi si possono citare gli argomenti:

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

Non so se c'è qualcosa di più strano di fronte all'intera Terra! Ho passato due ore a lottare con quello. OH MIO :( –

0

aggiungo questa risposta, per Perché la sintassi funziona con un argomento?

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

setInterest ("myAccount") 

Nota:
Quando non c'è alcuna , tra ( e ), VBA pensa che sia una formula ed esattamente un argomento.

Quando formula calcolare il risultato sarà simile a questo:

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

[Output:] 
TEST