Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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
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;
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.
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"
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
interesting Fabrice, I never used that
thanks
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
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
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.
^_^
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