Les performances peuvent poser problème lors de l'actualisation des données de certains documents Word contenant de nombreuses requêtes et créés avant Oracle Smart View for Office version 11.1.2.5.520. Parfois, alors que les requêtes existantes devraient être réutilisées si nécessaire, chaque point de données Smart View du document Word est traité comme une requête distincte. En conséquence, les opérations d'actualisation peuvent être très lentes.
Si le document contient de nombreuses requêtes dupliquées (à savoir des requêtes portant le même nom), elles apparaissent dans le volet Contenu de document dans Word. Par exemple, le volet Contenu de document peut ressembler à ceci :
Les requêtes dupliquées sont SmartView14446361770
et SmartView14446541490
.
Vous pouvez exécuter la macro Visual Basic ci-dessous pour enlever les requêtes dupliquées :
Sub DeleteExtraQueries() ' ' DeleteExtraQueries Macro ' Dim queriesName As Variant Dim uniqueQueriesName As New Collection Dim varName, newList As String Set vars = ActiveDocument.Variables For i = 1 To vars.Count varName = vars.Item(i).Name If Not StrComp(vars.Item(i).Name, "SV_QUERY_LIST", vbTextCompare) Then List = vars.Item(i).Value queriesName = Split(List, "<|>") On Error Resume Next For Each queryName In queriesName uniqueQueriesName.Add queryName, queryName Next newList = "" For Each queryName In uniqueQueriesName newList = newList & queryName & "<|>" Next newList = Left(newList, Len(newList) - 3) vars.Item(i).Value = newList End If Next End Sub
Une fois la macro exécutée, les requêtes SmartView14446361770
et SmartView14446541490
apparaissent une seule fois dans le volet Contenu de document :