SQL查询你好,
我从一个 excel 文件 (xlsm) 制作了一个 sqlquery.jmp。
当我第一次执行时:没有 pb。将创建 jmp 文件。
但是当我尝试通过“从数据库更新”(我使用 JMP14)来更新 jmp 文件时,该文件没有更新。
excel文件是写保护的。 在 excel 中,该文件要求输入/读取密码。 我只能以只读方式打开它。
是解释吗?
我应该检查什么?
谢谢你的帮助。
此致
回复:SQL查询这是一个迟到的更新。 提示的原因是 Update From Database() 需要连接字符串和查询。
这只是一个仅供参考,以纠正我在上一篇文章中讨论的提示问题。
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$` ");
回复:SQL查询弗朗索瓦丝,
附件是一个 Excel 工作簿 (.xlsx),有 3 张工作表,篮球、足球和一个空工作表 3。 篮球和足球受密码 1234 保护。运行第 1-13 行 (//Run to Here... ),然后打开并更改或添加一些东西到 Excel 文件表 Football,然后运行第 15 行,最后一个 JSL 语句。它可以工作,但我会提示您选择哪张纸。 如果我选择足球,我的 JMP 表就会更新。
可能有语法来指定连接字符串中的哪个工作表,但我不知道。 如果您只有一张纸,那么这应该可以。 注意我使用 Excel 作为数据库,而不是使用 Open(或 Import Excel)。
JMP 13 具有打开/导入支持密码的文档
“通过包含密码参数导入受密码保护的 Excel 2007 .xls 文件”
然而,在 2017 年 1 月初写我们的书(用 JMP13 编写)时,我们报告说它不起作用。 JMP 14 文档中没有支持消息。
请注意,我的系统名称(DSN=Excel 文件)可能不是您设置的名称,您需要更改路径以匹配您保存此文件的位置。 希望遇到此问题的 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);