2014-12-23 3 views
0

У меня есть этот код и он не работает, дает мне сообщение об ошибке «Не удается использовать круглые скобки при вызове Sub» на линии, где я бегу RunQuery (SCCMConnectionString, queryId)VBScript запрос смс по идентификатору запроса

Sub RunQuery(connection, queryId) 
    Dim query 
    Dim queryResults 
    Dim queryResult 


    ' Get query. 
    Set query=connection.Get("SMS_Query.QueryID='" & queryId & "'") 

    If err.number<>0 Then 
     WScript.echo "Couldn't get Queries" 
     Exit Sub 
    End If 

    ' Run query. 
    WScript.echo query.Name 
    WScript.echo "----------------------------------" 

    Set queryResults=connection.ExecQuery(query.Expression) 
    For Each queryResult In queryResults 
     wscript.echo "  " & queryResult.Name 
    Next 
    If queryResults.Count=0 Then 
     WScript.echo "  no query results" 
    End If 
End Sub 

SCCMConnectionString = chr(34) & "Server=OAK-PRD-SCC01;Database=CM_TIM;trusted_connection=True" & chr(34) 
queryID = "SMS024" 
RunQuery (SCCMConnectionString, queryId) 

ответ

1

Как говорится в сообщении об ошибке, вы не можете использовать скобки, когда вы вызываете под в VBScript.

Попробуйте это. Он должен работать.

RunQuery SCCMConnectionString, queryId 
1

Основное различие между Sub и Function в VBScript является то, что функция возвращает значение, а не к югу. Круглые скобки разрешены/требуются при вызове функции и использовании ее возвращаемого значения. Они вообще не допускаются при вызове подпрограммы обычным способом.

Вот исправленный линия (# 30):

RunQuery SCCMConnectionString, queryId 

Вот MS документ, который переходит в более подробно: VBScript Procedures

Любопытно, что вам разрешено использовать круглые скобки, если вы вызываете подлодку с помощью Call команда.

Call RunQuery(SCCMConnectionString, queryId) 
+0

Лично я считаю, что это один из многочисленных раздражающих функций VBScript, которые втирают мой программный мех в неправильный путь. Я не могу придумать вескую причину, почему MS реализовала его таким образом. – mojo

 Смежные вопросы

  • Нет связанных вопросов^_^