Datentabelle beim Schließen Problem, abhängig davon, wie es geschlossen wirdHallo, ich habe ein Problem damit, wie JMP entscheidet, die Datentabellen zu schließen, die das folgende Skript enthalten:
dt << On Close(close(Current Data Table(),nosave));
Mein Hauptproblem ist, wie die Datentabellen geschlossen werden, wenn mit diesem Skript mehrere Fenster geöffnet sind. Wenn Wird das diejenige, die geschlossen wird), was zu Problemen führen kann, wenn wir aktiv andere Tabellen verwenden.
Wird die aktuelle Datentabelle in den anderen Datentabellen übertragen? Ich habe versucht, eine Möglichkeit zu finden, vom Ansatz der aktuellen Datentabelle abzuweichen und den aktuellen Namen der Datentabelle abzurufen und zu versuchen, sie auf diese Weise zu schließen, aber ich hatte Probleme.
Handelt es sich hierbei um ein Problem mit dem Skript oder um ein Problem mit JMPs Handhabung des Schließens von Fenstern über die Taskleiste?
Danke,
Automatisierung und SkripterstellungBetreff: Problem mit der Datentabelle beim Schließen, abhängig davon, wie sie geschlossen wirdWelche Datentabellen möchten Sie mit On Close() schließen?
Betreff: Datentabelle beim Schließen. Problem, abhängig davon, wie es geschlossen wirdVerwenden Sie nicht CurrentDataTable(). Immer dann, wenn es vermeidbar ist. Wie Sie bemerkt haben, wird die aktuelle Tabelle durch Klicken auf eine Tabelle und einige andere Möglichkeiten festgelegt. Anscheinend zählt die Taskleiste nicht als Klick auf die Tabelle.
Ich denke, Sie versuchen, „nosave“ anzuwenden, um Änderungen zu vergessen. (Sie könnten auch die Funktion setDirty(0) verwenden.) Hier sind zwei Möglichkeiten, dies zu tun.
Zuerst mit einem „this“-Parameter, in diesem Beispiel a. Es enthält ein Fenster mit einem untergeordneten Feld, das die Tabelle kennt.
dt = Open( "$sample_data/big class.jmp" );
dt << onclose(
Function( {a},
Close( (a << child) << getdatatable, nosave );
1;
)
);
Zweitens durch Backen in der Tabelle:
dt = Open( "$sample_data/big class.jmp" );
Eval(
Eval Expr(
dt << onclose(
Close( Expr( dt ), nosave );
1;
)
)
);
Betreff: Problem mit der Datentabelle beim Schließen, abhängig davon, wie sie geschlossen wirdDas setdirty-Beispiel:
dt = Open( "$sample_data/big class.jmp" );
Eval(
Eval Expr(
dt << onclose(
Expr( dt ) << setdirty( 0 );
1;
)
)
);
Wenn dies Ihr Ziel ist, ist dies möglicherweise etwas richtiger. Die Interna von JMP werden nicht überrascht sein, wenn das Onclose-Skript zurückkehrt und die Tabelle bereits geschlossen ist. Für dieses hier ist die 1; Das zurückgegebene Signal signalisiert JMP, mit dem Schließen der Tabelle fortzufahren.
Betreff: Problem mit der Datentabelle beim Schließen, abhängig davon, wie sie geschlossen wirdDatentabellen, die Informationen aus einer anderen Datenquelle (LIMS, Excel usw.) abrufen.
Es ruft die Informationen ab und dann gibt es Skripte, die automatisch IR-Diagramme generieren, Kontrollgrenzen auf die Spalten anwenden und ein paar andere kleine Annehmlichkeiten.
Ich versuche, die Gestaltung der Skripte so weit wie möglich zu automatisieren, und menschliche Eingriffe in die Datentabelle sollten so gering wie möglich sein. Alles, was wir uns ansehen müssen, springt einem sofort ins Auge und zeigt an, ob Maßnahmen erforderlich sind.
Da diese aus einer schreibgeschützten Ansicht von LIMS/Excel stammen, gibt es keinen Grund, etwas zu speichern, außer in seltenen Fällen, in denen zusätzliche Manipulationen erforderlich sind.
Betreff: Problem mit der Datentabelle beim Schließen, abhängig davon, wie sie geschlossen wirdBisher erfüllt es seinen Zweck! Wenn ich auf Situationen stoße, in denen etwas schief geht, werde ich wiederkommen.
Danke Craige!
Betreff: Problem mit der Datentabelle beim Schließen, abhängig davon, wie sie geschlossen wirdHaben Sie die anderen Optionen ausprobiert (mit Schließen)? @Craige_Hales vorgeschlagen (nicht mit << Set Dirty). Ich denke, sie sollten auch dann funktionieren, wenn Sie Berichte geöffnet haben. Eine andere Möglichkeit wäre, eine Liste aller mit der Datentabelle verknüpften Berichte abzurufen und diese zuerst zu schließen (ich bin mir nicht sicher, ob es dafür eine einfache Funktion gibt).
Betreff: Problem mit der Datentabelle beim Schließen, abhängig davon, wie sie geschlossen wirdHallo Jarmo,
Ich habe gerade eines der anderen Beispiele ausprobiert, die Craige dargelegt hatte, und am Ende hat es funktioniert. Ich muss mir wirklich alle Antworten ansehen, bevor ich in Zukunft antworten kann. Man vergisst leicht, dass es in JMP eine Million Möglichkeiten gibt, dasselbe zu tun, und all das Feedback hier erinnert mich daran.
Ich danke Ihnen für Ihre Hilfe.
Betreff: Problem mit der Datentabelle beim Schließen, abhängig davon, wie sie geschlossen wirdHallo Craige, beim Set Dirty-Ansatz ist ein kleines Problem aufgetreten.
Mit der Methode „Aktuelle Datentabelle“ werden auch alle geöffneten Fenster geschlossen, die davon abhängen, dass die Datentabelle geöffnet ist, z. B. ein Kontrolldiagramm. Was wäre der beste Ansatz, um das Schließen aller abhängigen Fenster zu erzwingen, sodass die gesamte Datentabelle mit einem Klick und ohne weitere Eingabeaufforderungen geschlossen würde?
Bearbeiten:
Eval(
Eval Expr(
dt << onclose(
Close( Expr( dt ), nosave );
1;
)
)
);
Dieser dient zum Schließen aller abhängigen Fenster. Ich hatte es nicht ausprobiert! Vielen Dank an alle für eure Hilfe.
Betreff: Problem mit der Datentabelle beim Schließen, abhängig davon, wie sie geschlossen wirdEs scheint, dass die Option onClose nicht mit der Datentabelle gespeichert wird.
Gibt es eine Möglichkeit, die onClose- Einstellung mit der Datentabelle zu speichern?
Wenn nicht, gibt es eine Möglichkeit, die OnClose- Nachricht automatisch auszuführen, wenn die Datentabelle vom Benutzer geöffnet wird?
Ich habe versucht zu sagen
dt << on close( Function( {a}, Close( (a << child) << getdatatable, nosave ); 1;));in mein On Open Table-Skript, aber jetzt zeigt Jmp jedes Mal, wenn ich die Datentabelle öffne, die Warnung an:

Hm, ich plane ein Skript
- große Worte für „Sagen Sie Jmp am Ende, er soll nichts tun, nicht einmal die Daten speichern“ 