Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql MS Office Word 2007/2010-如何查看和编辑现有内置邮件合并选择?_Sql_Ms Word_Ms Office_Datasource - Fatal编程技术网

Sql MS Office Word 2007/2010-如何查看和编辑现有内置邮件合并选择?

Sql MS Office Word 2007/2010-如何查看和编辑现有内置邮件合并选择?,sql,ms-word,ms-office,datasource,Sql,Ms Word,Ms Office,Datasource,我有几个word文档中包含邮件合并,我必须更改数据源,但要这样做,我需要从这些文档中提取所有SELECT查询,以便检测正在使用的表和字段。(我无法访问旧数据源,因为它已经不存在了) 我搜索了一整天,不知道如何提取或显示应用于每个文档的SELECT查询。当我运行一个文档时,弹出一个对话框,说Word将运行以下查询选择X,Y。。。。但是由于查询很大,我看不到它们的整个结构,我也无法调整对话框的大小 是否有方法提取这些选择?尝试在Word中按Alt+F11打开VBA编辑器 您应该至少找到一个模块,我可

我有几个word文档中包含邮件合并,我必须更改数据源,但要这样做,我需要从这些文档中提取所有SELECT查询,以便检测正在使用的表和字段。(我无法访问旧数据源,因为它已经不存在了)

我搜索了一整天,不知道如何提取或显示应用于每个文档的SELECT查询。当我运行一个文档时,弹出一个对话框,说Word将运行以下查询选择X,Y。。。。但是由于查询很大,我看不到它们的整个结构,我也无法调整对话框的大小


是否有方法提取这些选择?

尝试在Word中按
Alt+F11
打开VBA编辑器

您应该至少找到一个模块,我可以想象它正在执行的任何代码都将在其中一个模块中


如果不是,则可能是宏?

如果您使用类似7-Zip的解压实用程序打开word.docx文件,这将显示其中的文件夹/文件结构

根文件夹应该类似于docProps、Word、Rel。查看Word文件夹并打开“settings.xml”文件。在这里,您应该可以看到查询(以及到文档中字段的数据库列映射)

我在Word 2007中尝试将此映射到customers表,保存的查询为:

query w:val="SELECT * FROM "Customer" "
Edit:extract from settings.xml(我必须去掉,才能显示出来)

w:设置 xmlns:m=”http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:o=“urn:schemas microsoft com:office:office” xmlns:r=”http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:sl=”http://schemas.openxmlformats.org/schemaLibrary/2006/main" xmlns:v=“urn:schemas microsoft com:vml” xmlns:w=”http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w10=“urn:schemas microsoft com:office:word”
w:zoom w:percent=“100”/
w:mailMerge
w:main文档类型w:val=“formLetters”/
w:linkToQuery/
w:dataType w:val=“native”/
w:connectString w:val=“Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=Chinook;Data Source=NEWDELL\SQLEXPRESS;使用Prepare=1的过程;Auto Translate=True;数据包大小=4096;工作站ID=NEWDELL;对数据使用加密=False;在可能的情况下使用列排序规则标记=False”/
w:query w:val=“从“客户”中选择*/
w:datasourcer:id=“rId1”/
w:viewMergedData/
w:odso……等等


VBA代码编辑器中绝对没有单一代码。如果我写一个宏,我甚至不知道应该在哪里查找这些查询。。。它们是通过邮件合并引入的,但即使在邮件ruban中,我也找不到任何与它们相关的东西。等等,我没工作。。我将我的文档文件转换为docx,并且没有查询w:val属性,我甚至检查了在其中找到的所有xml文件。。。奇怪的是,我刚刚尝试在兼容模式打开的情况下进行转换,但查询仍然不在XML文件中。。我真的不明白。。那么它在哪里呢?哦,很遗憾听到这个消息-从doc到docx的转换可能是一个额外的问题。我在2007年进行了一次新的邮件合并,并将其保存为.doc文件。然后重新打开此文件并以兼容模式另存为.docx,在settings.xml中仍然可以看到相同的内容-编辑答案以包含摘录…我应该补充一点,我手头没有旧版本的Word。。所以也许我上面的测试工作流程不会重复这个问题。这很奇怪。。。我做了完全相同的工作流程。。。这个该死的查询根本没有被存储,我做了一个CTRL+F搜索,然后我读了整个settings.xml文件。。。没有选择,没有数据源。。。什么都没有。。我不明白。我不明白他们为什么不考虑添加一种方式来显示mailmerge获取数据的方式。。。有时大型软件会有如此愚蠢的缺陷…ctrl-a ctrl-c粘贴到某个地方。