gpt4 book ai didi

sql - 工作表范围内定义的名称的表名称是什么?

转载 作者:行者123 更新时间:2023-12-03 15:13:34 27 4
gpt4 key购买 nike

我正在尝试使用 ODBC 通过 SQL 查询工作表范围中定义的名称。

我已经知道这有效:

SELECT * FROM [worksheet1$]       -- Query a whole worksheet
SELECT * FROM [worksheet1$A1:C10] -- Query A1:C10 of a worksheet
SELECT * FROM myname -- Query a workbook scoped defined name

请注意,myname 是工作簿范围,而不是工作表范围。

我希望 Excel 公式中的某些内容也适用于 ODBC 表名称:

SELECT * FROM worksheet1!myname   -- Query a worksheet scoped defined name

但是这不起作用,我尝试了一些语法变体。

这可能吗?如果可能,使用什么语法?

Delphi 开发人员注意:A1:C10 语法会导致 TADOQuery 出现问题,您必须将 ParamCheck 设置为 False 才能使其正常工作。

更新:

我正在使用 Microsoft Excel 驱动程序(*.xls、*.xlsx、*.xlsm、*.xlsb) 版本 12.00.6606.1000,该驱动程序附带 Microsoft Office 2007

我已经检查过我正在使用的 Delphi 数据库组件的行为方式与 Microsoft Query 和 Microsoft Access 2007 相同。

最佳答案

尝试以下操作来帮助您找出 Delphi 正在寻找的名称。

  1. 将组合框拖放到表单上。
  2. 运行以下代码,使用 Delphi 可接受的名称填充组合框:AdoConnection1.GetTableNames(ComboBox1.Items,True);
  3. 运行应用程序。组合框应该为您提供可查询名称的列表。

使用 Delphi XE2 和 Office 2010(Excel 文件另存为 Office 97 xls 格式),我创建了一个工作表范围命名范围 (sheet1!numberlist) 并在 Delphi 中运行 ADO 查询。查询为SELECT * FROM [sheet1$numberlist]。也许这是您的 ODBC 驱动程序?

关于sql - 工作表范围内定义的名称的表名称是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17744947/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com