SQLQueryこんにちは、
Excelファイル(xlsm)からsqlquery.jmpを作成しました。
初めて実行したとき:no pb jmpファイルが作成されます。
しかし、「データベースからの更新」(JMP14を使用)でjmpファイルを更新しようとしても、ファイルは更新されません。
Excelファイルは書き込み保護されています。優れている、ファイルは書き込み/読み取り用のパスワードを要求します。読み取り専用として開くことしかできません。
それは説明ですか?
何を確認すればいいですか?
ご協力いただきありがとうございます。
宜しくお願いします
再:SQLQueryのこれは最新のアップデートです。プロンプトの理由は、Update From Database()が接続文字列とクエリの両方を必要とするためです。
これは、このディスカッションの最後の投稿にあるプロンプトの問題を修正するための単なるFYIです。
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$` ");
再:SQLQueryのフランソワーズ、
添付されているのは、3つのシート、バスケットボール、フットボール、および空のシート3を含むExcelブック(.xlsx)です。バスケットボールとフットボールはパスワード1234でシート保護されています。 1〜13行目を実行します(//ここまで実行してください... 埋め込みスクリプトの)を開き、ExcelファイルシートのFootballを開いて変更または追加してから、最後のJSLステートメントである15行目を実行します。 それはうまくいくが、私はどのシートのプロンプトが出る。フットボールを選択すると、JMPテーブルが更新されます。
接続文字列内のどのワークシートを指定する構文がある可能性がありますが、わかりません。あなたがたった1枚のシートを持っているならば、これはうまくいくはずです。注データベースとしてExcelを使用しており、Open(またはExcelのインポート)は使用していません。
JMP 13には、Open / Importがパスワードをサポートするための文書がありました。
「Password引数を含めることで、パスワードで保護されたExcel 2007の.xlsファイルをインポートする」
しかし、2017年1月上旬に私たちの本を書いたとき(JMP13で書かれた)、私たちはそれがうまくいかなかったと報告しました。JMP 14の資料には、サポートに関するメッセージはありません。
私のシステム名(DSN = Excel Files)があなたが設定した名前ではないかもしれないことに注意してください、そしてあなたはこのファイルを保存した場所と一致するようにパスを変更する必要があります。うまくいけば、この問題に直面しているJMPの人か教祖は接続文字列でシートを指定する問題を手助けすることができます。
//---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);