2011-10-20 20 views
0

我以這種方式使用DynamicUpdateCommand宏中的後停止工作:DynamicUpdateCommand的QlikView重啓

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

沒有任何其他的解決方案,我用這個解決方案,以編程方式節省了文檔打開文檔結束:

  • 文檔屬性...>觸發器>文檔事件觸發器>的OnOpen>添加操作(S).. >添加>外部>運行宏>設置宏名稱= reactivateDynamicUpdateCommand
  • 工具>編輯模塊...:添加這個子程序:

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

它的工作原理,但更好的解決方案將是首選。

0

從版本11開始動態更新可以作爲操作而不是通過VB宏來完成。如果可能,最好使用Actions。但是,有時甚至使用動態更新操作,我注意到凍結與您所描述的類似。我最後在動態更新後立即添加了一個虛擬動作(例如,將值分配給虛擬變量或添加選擇 - >返回動作以補償觸發OnSelect)。