代码之家  ›  专栏  ›  技术社区  ›  daveg

无法在Access宏中捕获/cmd值

  •  1
  • daveg  · 技术社区  · 7 年前

    我试图/未能在宏中使用command()函数捕获从命令行传递到Access的值。这是我用向导创建的宏。。。

    If Command()="Update_Burndown_Metrics" Then
      RunSQL
        SQL Statement   insert .... blah, blah
    End If
    

    The expression you entered has a function name that Microsoft Access can't find
    

    如果我更换。。。

    If Command()="Update_Burndown_Metrics" 
    

    具有

    If 1=1
    

    它运行良好。瞧,这不是SQL。这是它找不到的“Command()函数”。

    我是从中想到使用Command()的 Opening Microsoft Access with parameters http://www.utteraccess.com/wiki/Command-Line_Switches

    最后,我想在命令行上使用/cmd传递Update\u Burndown\u Metrics arg。

    为什么它不能找到Command()作为有效函数?这是范围界定吗?我是否必须以某种方式给出Command()上下文,可能需要某种前缀?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Lee Mac    7 年前

    我似乎无法重现您所描述的问题,不过,我使用的是MS Access的早期版本,因此该函数的行为可能存在一些差异。

    这个 Command 函数应该是全局可访问的,甚至在VBA之外(它可以由 ControlSource 属性),因此这不是范围问题。

    Office 365 documentation 命令

    If Command = "Update_Burndown_Metrics" Then
        MsgBox "Test succeeded."
    Else
        MsgBox "Test failed."
    End If
    
        2
  •  0
  •   daveg    7 年前

    我创建的解决方法是在vba中创建一个函数,该函数获取并返回命令。。。

    Public Function GetCommand() As String
      GetCommand = Command()
    End Function
    

    If GetCommand() = "Update_Burndown_Metrics" Then ...
    
    推荐文章