0

私は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ファイルをファイルシステムに保存する方法に接続されていますか?

どうもありがとう!

4

2 に答える 2

0

他の解決策なしで、私はこの回避策で終わりました。これは、ドキュメントを開くときにプログラムでドキュメントを保存します。

  • ドキュメントのプロパティ...>トリガー>ドキュメントイベントのトリガー>OnOpen>アクションの追加...>追加>外部>マクロの実行>マクロ名の設定=reactivateDynamicUpdateCommand
  • [ツール]>[モジュールの編集...]:このサブルーチンを追加します:

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

それは機能しますが、より良い解決策が望まれます。

于 2011-10-21T13:35:21.193 に答える
0

バージョン11以降、動的更新はVBマクロではなくアクションとして実行できます。可能な場合はアクションを使用することをお勧めします。ただし、動的更新アクションを使用している場合でも、説明したものと同様のフリーズに気付くことがあります。動的更新の直後にもう1つのダミーアクションを追加することになりました(たとえば、ダミー変数に値を割り当てるか、OnSelectのトリガーを補正するためにSelection-> Backアクションを追加します)。

于 2012-12-26T15:56:22.653 に答える