问题标签 [ms-jet-ace]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - MS-Access 中的 INTERSECT 多个子查询(没有 INTERSECT 关键字)
我需要在 MS Access 中交叉多个子查询。不幸的是,Access-SQL 不支持 INTERSECT 关键字。我了解,我们如何使用两个表的 INNER JOIN 来获得我们想要的交集。但是我怎样才能以编程方式创建一个查询,使 N 个子查询相交呢?
更具体地说:我有一张员工表和一张专业化表。每个员工可以有多个专业化,这意味着员工和专业化之间存在多对多的关系,由一个包含员工和专业化 ID 的附加表表示,这并不复杂。
现在假设我想要一个员工列表,所有这些员工都在某处指定了所有专业。在任何其他 SQL 引擎中,我将简单地创建一个子查询列表并使用 INTERSECTION 关键字将这些子查询“连接”在一起,创建如下内容:
,其中 x_1,...,x_n 表示对应于某些专业的一些 id。此查询返回一组员工,所有员工都具有所有特化 x_1,...,x_n。那么如何在没有 INTERSECT 关键字的 Access 中创建这样的查询。我一直在尝试使用 INNER JOIN 编写等效查询,但似乎无法成功。
ms-access - Access 应用程序前端的关系消失了
我有一个相当大的 Access 应用程序,有 20 多个表。当然,所有表之间的关系都存储在后端。到目前为止,前端关系查看器显示了所有后端关系,但今天我注意到我前端的所有关系都消失了(但它们在后端都可以)。奇怪的是,现在我可以在我的前端编辑我以前无法做到的关系,我总是不得不去后端编辑数据库。当我尝试创建一个新查询时,我现在必须手动链接两个共享关系的表。这没什么大不了的。这很奇怪,因为 Access 之前没有这样做,我担心它会回来咬我的屁股...... 我可以做的是在我的前端手动重新创建关系,但这对我来说似乎很愚蠢,我想避免它。我可以做任何事情来让这些关系重新出现在我的前端。
PS昨天我不得不删除表的链接并将这些相同的表从我的后端重新链接到我的前端。该过程是否有可能导致前端关系消失?
sql-server - 在 MS Access 中使用 SQL Server Express 引擎
- 是否可以将 SQL Server Express 引擎与 MS Access 一起使用?
我问的原因是,我想摆脱Jet/ACE引擎和每个 db 文件 2GB 的限制。
感谢您的反馈意见,
克拉列维奇
excel - 调用 MS Ace 数据库引擎 V12 或 V14 从 VB6 打开 Excel XLSX 或 XLS 文件
我知道这个论坛上有一个关于为 XLSX 打开 ACE 数据库引擎 12 的帖子——但不清楚这是否是从 VB6 调用的,所以我仍然发布我认为不同的问题。
作为我正在编写的应用程序的一部分,其中一个部分具有在VB6中打开 XLS /XLSX 文件的功能。我正在使用 MS ACE 数据库引擎。我已经在不同的 PC 上尝试过 ACE DB 引擎 12 和 14。我从这里下载了安装程序:http: //www.microsoft.com/en-us/download/details.aspx?id=13255
在我的 VB6 项目中,我尝试但似乎无法设置对 ACEOLEB.dll 的引用,因为无法引用此 COM 对象 - 我收到错误(并且不知道此错误是什么:“出现意外错误GO FNF。加载 DLL 时出错。”此外,我尝试注册 DLL,但由于无法注册此 DLL,因此没有成功。当我运行我的应用程序并选择一个 XLSX 文件(甚至是 XLS 文件)时,我编写了连接字符串如下:
提供者=Microsoft.ACE.OLEDB.12.0;数据源=C:\DB 解决方案\EmailAssignments.XLSX;扩展属性=\"Excel 12.0;HDR=YES\";
当我尝试连接时,出现错误: ERRORCODE DB1004 错误 -2147467259:找不到可安装的 ISAM
最后我在谷歌搜索了这种类型的错误,并在微软支持论坛上找到了这篇文章:http: //support.microsoft.com/kb/283881,其中谈到了一个必须注册的 DLL MSEXCL40.DLL,因为注册可能失踪或未登记;但此文件适用于 Office 2003。我尝试了他们的建议,但无济于事。我的用户将使用 Office 2007 或 2010,而我的应用程序是 VB6 - 所有这些似乎都不兼容,而且我似乎无法打开任何 Excel 文件。
任何人都可以帮助我-- ACE DB 引擎是否可以与 VB6 一起使用?- 如果这个 ACE DB 引擎与 VB6 一起工作,那么有人可以帮助我实现它吗?或者 - 有人可以建议我如何在用户系统中找到合适的 XLSX 驱动程序,并在他们选择要使用的 XLSX 文件后“即时”编写 DSN?
我将衷心感谢您的帮助。提前谢谢了。
问候马克
excel - VBA 中的 ACE OLEDB SQL 字符串 - 如何在 SQL 字符串中引用 Excel 对象表(ctrl+t,前列表)
我的代码成功地从工作集中读取表格数据,其中数据从单元格 A1 开始。我的代码片段如下所示:
其中 [TableA$] 必须是一个工作表“TableA”,其中填充了从单元格 A1 开始的数据。
是否有可能,是否有一种语法允许我不引用工作集 TableA 中的数据,而是引用名称为 TableA 的对象表中的数据(在 MSExcell 2010 中,可以使用 ctrl+t 创建),以前称为列表(在MSExcel2003)?
编辑:到目前为止,我正在通过使用此函数从对表的引用构建对硬编码范围的引用来克服该问题:
ms-access - 遍历表并更改值时访问崩溃
当我遍历一个表并使用以下代码更改其中一个字段的值时,Access 不断崩溃:
此外,当我尝试使用替代 SQL 代码时,它似乎是一个无休止的查询:
sql - SQL按LIKE(带通配符)进行分组,如何实现正确的求和
我正在使用 Excel VBA 中的 Access 查询。我的表包含更通用和专业产品的组合,带有字符串的列,例如:
我想汇总销售值,我想按单独的 TableB 中指定的类别汇总总和,这是一个带有子字符串的字典:(
山地自行车特价,山地自行车滑板专业滑板。
我按降序对表格进行了排序,以便较长的名称出现在较短的名称之前。通过排序,JOIN 将导致 Scateboard pro 在测试 Scateboard 之前将针对任何记录测试是否存在。
我的预期结果是
但是,我的查询总计了所有山地自行车,甚至是特殊的和所有的滑板,甚至是不正确的专业自行车。我希望将它们总结为不同的类别。对我的 TableB 进行降序排序,我的字典没有用。:
我尝试的查询包括使用 LIKE 和通配符进行搜索,如下所示:
SELECT "" As kod, sum(b) As wartosc , TableB.Descr as opis_grupy
FROM TableA LEFT JOIN TableB ON TableA.Descr LIKE (" "+TableB.Descr+" ")
其中 TableA.a 不为空
GROUP BY TableB.Descr
ORDER BY TableB.Descr DESC
不幸的是,这样的查询不能正确求和。我正在考虑使用 FIRST np. http://www.mrexcel.com/forum/excel-questions/417807-sql-join-question-excel-access-only-return-first-join-instance.html(首先是użycie funkcji)但我不知道如何实现它,以便查询应按预期求和。谢谢你帮助我。
vba - ADO 库参考和向前兼容性
我希望在客户的 Excel 工作簿应用程序中添加一些 Access 数据库功能。好的 Excel 和 VBA 不是我的首选,但这就是我们正在使用的。
通常我通过 ADO.NET 使用 ADO,所以我们总是知道版本,因为我们是为特定版本的 .NET 构建的。
但是,对于 VBA 和常规 ADO,情况并非如此。ADO 库是否向前兼容?例如,如果我引用 6.0,它是否适用于从 Vista 开始的所有内容?(或 2.7 和 XP)
有没有办法做到这一点?IE。引用,以便它适用于“所有合理安装的版本”。还是我必须使用后期绑定来确保多版本兼容性?
我们需要同时支持 32 位和 64 位,所以我将使用 ACE(以及从 Access 2007 开始的版本)。等待 XP 上的确认 - 我怀疑我们也可以放弃它。
c# - 外部表不是预期的格式。这个 xls 文件有什么问题?
当我运行下面的代码时,出现以下错误:
System.Data.OleDbException of {“外部表不是预期的格式。”}
我已经尝试了所有不同的扩展属性:
- Excel 8.0
HDR=NO
有无。IMEX=1
有无。
- Excel 12.0
HDR=NO
有无。IMEX=1
有无。
XLS 文件最初从网页下载到计算机的本地硬盘驱动器。然后,我的 Web 应用程序使用 FileUpload 控件将其上传到不同的 Web 服务器(该文件未锁定,我对此进行了测试)。然后调用下面的代码。
我找到的唯一解决方案是 - 如果我只是在 Excel 中打开文件(我有 Office 2013)然后关闭 Excel,代码就可以工作!没有 OleDbException!我没有以其他格式保存文件,我只是在 Excel 中打开文件并关闭它!
是什么赋予了?我无法找到有关预期文件格式的任何信息,或者这是否真的是问题所在。为什么查询会仅仅因为文件已用 Excel 打开?
无论如何,任何帮助将不胜感激。这是代码:
OleDbException 发生在:
编辑 - 是的,我正在选择 xls 文件中单个单元格的内容。
excel - 64 位 excel 上分隔文本文件的正确连接字符串
我有一个从多个文本文件中提取数据的 VBA 子程序,我目前正在将此工作簿从 32 位 excel 导入到 64 位 excel。
我当前的连接字符串(适用于 32 位 excel)如下:
而且,在我有文本文件的同一个文件夹中,我有一个Schema.ini
文件看起来有点如下:
现在,在将其移至 64 位时,由于不再支持 JET,我遇到了错误。我认为这需要移至 ACE 或类似的东西,但我似乎无法获得正确的连接字符串。
关于 64 位读取分隔文本文件的连接字符串是什么样子的任何帮助?
谢谢!