【问题标题】:DynamicUpdateCommand stops working after QlikView restartQlikView 重新启动后 DynamicUpdateCommand 停止工作
【发布时间】:2011-10-20 15:24:38
【问题描述】:

我以这种方式在宏中使用DynamicUpdateCommand

sub addOrder

  set choosen = ActiveDocument.Fields("NUMORD").GetPossibleValues

  for i = 0 to choosen.Count - 1
    set result = ActiveDocument.DynamicUpdateCommand("UPDATE * SET CHOOSE = 'S' WHERE NUMORD = '" & choosen.Item(i).text & "' " )

    if result = false then
      MsgBox result.ErrorMessage
    end if  
  next

end sub

动态数据更新已启用。

它可以工作,但是,当我关闭 QlikView 并重新打开它时,它不再工作了。即使尝试重新加载。

我凭经验意识到要让它再次工作,我需要点击“保存”按钮,即使不做任何更改...

我该如何解决这个小问题?也许它与 RAM 和将 .qvw 文件保存到文件系统的方式有关?

非常感谢!

【问题讨论】:

    标签: save sql-update ram qlikview


    【解决方案1】:

    在没有任何其他解决方案的情况下,我以这个解决方法结束,它以编程方式在文档打开时保存文档:

    • 文档属性... > 触发器 > 文档事件触发器 > OnOpen > 添加操作... > 添加 > 外部 > 运行宏 > 设置宏名称 = reactivateDynamicUpdateCommand
    • 工具 > 编辑模块...:添加此子例程:

      sub reactivateDynamicUpdateCommand
         ' I know, it's weird
         '... but needed to reactivate DynamicUpdateCommand functionality after a restart
         ActiveDocument.Save
      end sub
      

    它有效,但最好有更好的解决方案。

    【讨论】:

      【解决方案2】:

      从版本 11 开始,动态更新可以作为操作完成,而不是通过 VB 宏。最好尽可能使用操作。但是,有时即使使用动态更新操作,我也注意到与您描述的类似的冻结。我最终在动态更新之后又添加了一个虚拟操作(例如,为虚拟变量分配一个值或添加 Selection -> Back 操作以补偿触发 OnSelect)。

      【讨论】:

        猜你喜欢
        • 2013-10-06
        • 1970-01-01
        • 1970-01-01
        • 2016-09-29
        • 2021-03-31
        • 2018-07-26
        • 2023-01-31
        • 2011-08-04
        • 1970-01-01
        相关资源
        最近更新 更多