Comment utiliser la fonction include pour exécuter un script séparé qui utilise une table de données ouverte ?Salut tout le monde,
J'ai créé un script qui extrait de SQL et crée une table de données comme suit :
Names Default To Here( 1 );
dtFROMSQL = Execute SQL(
databaseConnectionHandle,
"SELECT HEIGHT, WEIGHT FROM Bigclass",
"NewTable"
);<BR />Include(filepathforsecondscript.jsl);
Et puis j'ai un autre script dans mon dossier personnel qui ajoute une colonne à la table de données :
Current Data Table( dtFROMSQL );
dt << New Column( "X", Formula( Random Uniform() ) );
J'utilise une fonction Include dans le premier script pour exécuter le second script.
Mon problème est que lorsque j'essaie de l'exécuter, le deuxième script ne détecte pas la table de données créée dans le premier script, j'obtiens une erreur comme celle-ci :
Name Unresolved : dt dans l'accès ou l'évaluation de 'dt' , dt/*###*/
Un moyen d'obtenir que mon deuxième script détecte la table de données créée dans le premier script ?
Accès aux donnéesRe : Comment utiliser la fonction include pour exécuter un script séparé qui utilise une table de données ouverte ?Le premier script déclare que toutes les variables sont dans l'espace Here, local uniquement à ce script. Le deuxième script utilise une variable avec le même nom, mais ce n'est pas la même variable. Il s'agit soit d'une variable globale portant le même nom, soit d'une autre définie dans l'espace de noms Here du second script.
De plus, vous définissez la table de données actuelle, mais pas la valeur stockée dans la variable dt.
Re : Comment utiliser la fonction include pour exécuter un script séparé qui utilise une table de données ouverte ?Ouais ça a marché. Merci!Re : Comment utiliser la fonction include pour exécuter un script séparé qui utilise une table de données ouverte ?N'est-ce pas parce que tu fais
dt << New Column( "X", Formula( Random Uniform() ) );
au lieu de
dtFROMSQL << New Column( "X", Formula( Random Uniform() ) );
dt n'existe pas dans votre script supérieur.