2012-04-14 8 views
15

El uso de VBA con Access 2010, que tienen una substitución:múltiples submarinos argumento VBA

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

Y yo estoy llamando con

setInterest("myAccount",3) 

y me da errores de sintaxis.
Modificar el sub para solo tomar un argumento y omitir el 3 no da ningún error, el problema es solo cuando tengo 2 argumentos.

+1

duplicado de [Llamar a un Sub en VBA] (http://stackoverflow.com/questions/7715044/calling-a-sub- in-vba) ... y muchos otros. Este problema ya ha sido respondido varias veces. –

Respuesta

34

Al utilizar varios argumentos, puede escribir:

setInterest "myAccount", 3 

O

Call setInterest("myAccount", 3) 

En ambos ejemplos se pueden nombrar los argumentos:

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

¡No sé si hay algo más extraño frente a la Tierra! Pasé dos horas luchando con eso. OH MI :( –

0

añado esta respuesta, para ¿Por qué su sintaxis funciona con un argumento?

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

setInterest ("myAccount") 

Nota:
Cuando no hay ninguna , entre ( y ), VBA piensa que es una fórmula y exactamente un argumento.

Cuando fórmula calcular el resultado será como esto:

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

[Output:] 
TEST