如何在没有 odc 文件的情况下从 MS Word 查询数据库?

问题描述 投票:0回答:1

我想将 SQL Server 数据库中的数据检索到 MS Word 中。我可以通过使用 DATABASE 字段代码 来实现此目的,方法是将以下内容插入按 CTRL+F9 创建的特殊括号中,然后按 F9 将查询作为 MS Word 中的表执行:

DATABASE  \d "C:\Users\MyUser\Documents\My Data Sources\MyDataSource.odc" \c "DRIVER={SQL Server};SERVER=MYSERVER;DATABASE=MYDB;Trusted_Connection=Yes;" \s "SELECT TOP 1 Id FROM MyTable"

这可以在本地运行,因为我已将 MyDataSource.odc 配置为使用 SQL Server 驱动程序,但我希望它可以在没有这种依赖性的同事的计算机上运行。 是否可以在不指定 Office 数据连接文件的情况下使此功能发挥作用?

这是我的 ODC 文件的相关部分:

<xml id=docprops><o:DocumentProperties
  xmlns:o="urn:schemas-microsoft-com:office:office"
  xmlns="http://www.w3.org/TR/REC-html40">
  <o:Description>MyDescription</o:Description>
  <o:Name>MyName</o:Name>
 </o:DocumentProperties>
</xml><xml id=msodc><odc:OfficeDataConnection
  xmlns:odc="urn:schemas-microsoft-com:office:odc"
  xmlns="http://www.w3.org/TR/REC-html40">
  <odc:Connection odc:Type="ODBC">
   <odc:ConnectionString>{SQL Server};SERVER=MYSERVER;DATABASE=MYDB;Trusted_Connection=yes;</odc:ConnectionString>
   <odc:CommandType>Table</odc:CommandType>
   <odc:AlwaysUseConnectionFile/>
  </odc:Connection>
 </odc:OfficeDataConnection>
</xml>

数据库代码字段文档告诉我 \d 开关是“用于除使用 ODBC 对 SQL 数据库表的查询之外的所有数据库查询”,但仅提供连接到文件中保存的数据库的示例,但不提供连接到文件中的数据库的示例。 SQL Server 数据库。

用例是我们必须定期将数据库中的列表发送到仅接收 MS Word 格式文件的第三方。我希望团队中的任何人都能够打开文件并更新它,或者更好的是,在 O365 Sharepoint / Power Automate 中实现自动化,并且这个 DATABASE 字段只要不与特定文件绑定就可以实现这一点我的电脑。

请注意,我可以使用此连接字符串连接到相关数据。例如,我可以在 Excel 的 Get & Transform (Power Query) 中使用以下代码进行连接:

= Odbc.Query("Driver={SQL Server};Server=MYSERVER;Database=MYDB", "SELECT TOP 1 Id FROM MyTable")

sql-server ms-word odbc connection-string oledb
1个回答
0
投票

数据库字段可以使用任何可用于邮件合并的数据源。

您可以通过以下方式进行编码来简化数据库字段并使其更加可移植:

{DATABASE \d "{FILENAME \p}/../ MyDataSource.CSV" \s "从 MyTable 中选择前 1 个 ID" \l "9" "63" \h}

这将允许字段引用与包含 DATABASE 字段的文档保存在同一文件夹中的数据源(在上面的示例中为“MyDataSource.CSV”)。请注意,{FILENAME \p} 字段的字段大括号必须也可以通过 Ctrl-F9 创建。

\l 和 \h 字段开关可用于控制输出格式。请参阅:http://office.microsoft.com/en-us/word-help/field-codes-database-field-HP010260104.aspx。该链接引用“表格自动套用格式”对话框,您可以通过“插入|快速部件|字段>数据库”访问该对话框。您需要先建立与数据源的连接,然后才能访问对话。

© www.soinside.com 2019 - 2024. All rights reserved.