Hi,
Ich habe eine sqlquery.jmp aus einer Excel-Datei (xlsm) erstellt.
Wenn ich zum ersten Mal ausführe: no pb. Die JMP-Datei wird erstellt.
aber wenn ich versuche, die JMP-Datei durch "Update from Database" zu aktualisieren (ich verwende JMP14), wird die Datei nicht aktualisiert.
Die Excel-Datei ist schreibgeschützt. In Excel fordert die Datei ein Passwort zum Schreiben / Lesen an. Ich kann es nur schreibgeschützt öffnen.
ist es die erklärung?
Was soll ich prüfen?
Vielen Dank für Ihre Hilfe.
mit freundlichen Grüßen
Dies ist ein spätes Update. Der Grund für die Eingabeaufforderung ist, dass Update From Database() sowohl die Verbindungszeichenfolge als auch die Abfrage benötigt.
Dies ist nur ein FYI, um das Eingabeaufforderungsproblem in meinem letzten Post für diese Diskussion zu korrigieren.
Names Default to Here(1);
//---create a string with multiple commands
xls_connect_str = "DSN=Excel Files;
DBQ=Basketball Football Sample Data.xlsx;
DefaultDir=c:\temp\;pwd=1234";
//--select some fields/parameters/columns
//--Football is one of the worksheet names
//--each worksheet is treated as a database table
football_dt1=Open Database( xls_connect_str,
"SELECT * FROM `Football$` ",
"Football");
//--- Run to Here and look at results
nr= nrow(football_dt1);
football_dt1 << delete rows((nr-10)::nr);
football_dt1 << Update from Database(xls_connect_str , "SELECT * FROM `Football$` ");
Francoise,
Angehängt ist eine Excel-Arbeitsmappe (.xlsx) mit 3 Blättern, Basketball, Fußball und einem leeren Blatt 3. Basketball und Fußball sind mit dem Passwort 1234 geschützt. Führen Sie die Zeilen 1-13 aus (//Run to Here... ) des eingebetteten Skripts, öffnen und ändern oder fügen Sie etwas zum Excel-Dateiblatt Fußball hinzu, und führen Sie dann Zeile 15 aus, die letzte JSL-Anweisung.Es funktioniert, aber ich bekomme eine Eingabeaufforderung für das Blatt. Wenn ich Fußball auswähle, wird meine JMP-Tabelle aktualisiert.
Es ist wahrscheinlich, dass es eine Syntax gibt, um anzugeben, welches Arbeitsblatt in der Verbindungszeichenfolge enthalten ist, aber ich weiß es nicht. Wenn Sie nur ein Blatt haben, sollte dies funktionieren. Hinweis Ich verwende Excel als Datenbank und nicht Open (oder Import Excel).
JMP 13 hatte eine Dokumentation, für die Passwörter von Open/Import unterstützt wurden
"Passwortgeschützte XLS-Dateien von Excel 2007 importieren, indem das Passwort-Argument eingeschlossen wird"
Als wir Anfang Januar 2017 unser Buch (geschrieben mit JMP13) schrieben, berichteten wir jedoch, dass es nicht funktionierte. Es gibt keine Support-Nachricht in der JMP 14-Dokumentation.
Beachten Sie, dass mein Systemname (DSN=Excel-Dateien) möglicherweise nicht der Name ist, den Sie eingerichtet haben, und Sie den Pfad ändern müssen, damit er mit dem Speicherort übereinstimmt, an dem Sie diese Datei gespeichert haben. Hoffentlich kann ein JMP-Mitarbeiter oder -Guru, der mit diesem Problem konfrontiert war, bei dem Problem helfen, das Blatt in der Verbindungszeichenfolge anzugeben.
//---create a string with multiple commands
xls_connect_str = "DSN=Excel Files;
DBQ=Basketball Football Sample Data.xlsx;
DefaultDir=c:\temp\;pwd=1234";
//--select some fields/parameters/columns
//--Football is one of the worksheet names
//--each worksheet is treated as a database table
football_dt1=Open Database( xls_connect_str,
"SELECT * FROM `Football$`",
"Football");
//--- Run to Here and look at results
football_dt1 << Update from Database(xls_connect_str);