Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Bloquer le rechargement des données

Bonjour,

Je souhaite pouvoir bloquer le bouton de rechargement des données. J'ai pensé commencer mon scrip par

"If $(maVariable) = 0 then exit script endif;"

Sachant que maVariable sera à 0 si je veux bloquer le rechargement ou à 1 pour l'autoriser.

Quand maVariable est à 1 le rechargement s'effectue, mais quand maVariable = 0 le rechargement ne s'effectue pas (ce que je souhaitais) par contre je n'ai plus aucune donnée, alors que j'aimerai qu'il conserve les données qu'il avait...

Qui à une idée pour que je puisse sortir du script tout en conservant les données ?

Merci

1 Solution

Accepted Solutions
pgrenier
Partner - Creator III
Partner - Creator III

Bonjour Alpha,

Le mieux que j'ai trouvé pour vous est cette info dans le guide API de QlikView (C:\ProgramData\QlikTech\QlikView Documentation\Automation\APIguide.qvw)

temp=ActiveDocument.GetProperties.UserPermissions.InhibitUserReload

if temp then msgbox("Script may not be re-executed on USER level")

temp=ActiveDocument.GetProperties

temp.UserPermissions.InhibitUserReload = false

ActiveDocument.SetProperties temp

Autrement, peut-être pourriez-vous envisager d'utiliser les fonctionnalités de QlikView Server pour effectuer le rechargement automatisé de votre document plutôt que d'utiliser des macros?

En espérant que cela vous aide, cordialement,

Philippe

View solution in original post

21 Replies
maxgro
MVP
MVP

hope it can helps you

look at the menu: settings --> document properties --> security --> user privileges

and look at section access in online help

at the script level I think you can only keep previous data forcing an error, in that way

let vexit = 1;

if vexit=1 then

  trace vexit 1;

  set ErrorMode=2;

  load * resident pippo;         // non existent table --> error --> data not overwritten

  trace 'after error';                  // never executed

ELSE

  set ErrorMode = ????;      // your default ErrorMode

  trace vexit 0;

ENDIF;

Not applicable
Author

Thank you for your answer. But, i don't want the windows where it says "Do you want reload old data ?" i want that it reload old data but without the windows message. Have you got an idea ?

Excuse me for my bad english.

maxgro
MVP
MVP

Sorry but, I don't tkink is possible to remove the windows message

your bad english is better than "mon mauvais et vieux français de l'ècole"

Not applicable
Author

Regarde le load partiel:

tu as une fonction booléenne : IsPartialReload()

Tu peux aussi utiliser les préfixes REPLACE ONLY LOAD ..., ce qui écrase les données précédentes qu'en cas de lecture. Sans ce préfixe, QV réinitialise les tables de l'ensemble du modèle.

Fabrice

maxgro
MVP
MVP

interesting Fabrice, I never used that

thanks

Not applicable
Author

Massimo,

Je lis beaucoup de doc et trouve des choses intéressantes.

Tu parles bien français et c'est un vrai plaisir de te voir répondre à des personnes qui posent des questions en français. Bravo

Fabrice

antoniotiman
Master III
Master III

Tu dois utiliser le file QVD pour mémoriser sur le disque les données deja chargées.

Apres tu execute le load du file QVD si tu n' avait pas recharger le donnees par le db.

Excuse mon Francais.

A bientot,

Antonio

Not applicable
Author

Merci pour vos réponse, je vais continuer de chercher dans la documentation pour trouver un moyen de sortir du script sans avoir à confirmer le rechargement des anciennes données.

Thank you Massimo and Antonio for your French language. Merci Fabrice, malheureusement ca ne correspond pas à ce que je voulais faire.

^_^

Not applicable
Author

OK

Et que souhaitez-vous faire exactement ? Mettre des variables à 1 ou 0, lire ou pas lire, ce n'est qu'un moyen. Donc, que souhaitez-vous mettre en place exactement ?

Un load depuis l'interface ? en batch ? gloabal ou partiel ? ....

Fabrice