我以这种方式在宏中使用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文件保存到文件系统的方式?
非常感谢!
答案 0 :(得分:0)
没有任何其他解决方案,我以此解决方法结束,它以编程方式将文档保存在文档打开:
工具>编辑模块......:添加此子程序:
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 )。