在QlikView重新启动后,DynamicUpdateCommand停止工作

时间:2011-10-20 15:24:39

标签: save sql-update ram qlikview

我以这种方式在宏中使用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

启用Dinamic数据更新。

它有效,但是,当我关闭QlikView并重新打开它时,它不再起作用。即使尝试重新加载。

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

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

非常感谢!

2 个答案:

答案 0 :(得分:0)

没有任何其他解决方案,我以此解决方法结束,它以编程方式将文档保存在文档打开:

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

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

虽然有一个更好的解决方案,但仍然有效。

答案 1 :(得分:0)

从版本11开始动态更新可以作为操作而不是通过VB宏完成。在可能的情况下最好使用Actions。但是,有时甚至使用动态更新操作我注意到冻结类似于您所描述的。我最后在动态更新后添加了一个虚拟操作(例如,为虚拟变量赋值或添加选择 - >后退操作以补偿触发 OnSelect )。

相关问题