Hallo alle,
Ich habe ein Skript erstellt, das SQL abruft und eine Datentabelle wie folgt erstellt:
Names Default To Here( 1 );
dtFROMSQL = Execute SQL(
databaseConnectionHandle,
"SELECT HEIGHT, WEIGHT FROM Bigclass",
"NewTable"
);<BR />Include(filepathforsecondscript.jsl);
Und dann habe ich in meinem persönlichen Ordner ein weiteres Skript, das der Datentabelle eine Spalte hinzufügt:
Current Data Table( dtFROMSQL );
dt << New Column( "X", Formula( Random Uniform() ) );
Ich verwende eine Include-Funktion im ersten Skript, um das zweite Skript auszuführen.
Mein Problem ist, dass wenn ich versuche, es auszuführen, das zweite Skript die im ersten Skript erstellte Datentabelle nicht erkennt und ich eine Fehlermeldung wie diese erhalte:
Name ungelöst: dt im Zugriff oder Auswertung von 'dt', dt/*###*/
Gibt es eine Möglichkeit, mein zweites Skript dazu zu bringen, die im ersten Skript erstellte Datentabelle zu erkennen?
Das erste Skript deklariert, dass sich alle Variablen im Here-Bereich befinden und nur für dieses Skript lokal sind. Das zweite Skript verwendet eine Variable mit demselben Namen, es handelt sich jedoch nicht um dieselbe Variable. Es handelt sich entweder um eine globale Variable mit demselben Namen oder um eine andere, die im Here-Namensraum des zweiten Skripts definiert ist.
Außerdem definieren Sie die aktuelle Datentabelle, nicht jedoch den in der Variablen dt gespeicherten Wert.
Liegt es nicht daran, dass du es tust?
dt << New Column( "X", Formula( Random Uniform() ) );
anstatt
dtFROMSQL << New Column( "X", Formula( Random Uniform() ) );
dt ist in Ihrem Top-Skript nicht vorhanden.