问题标签 [ms-access-2016]

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.

0 投票
1 回答
1100 浏览

ms-access - 尝试使用 UDL 文件连接到访问

我正在尝试通过 UDL 文件连接到 Access 数据库。我想生成一个连接字符串,以便我可以通过 ADO.NET 连接到访问数据库。自从我尝试这样做以来已经有几年了。

我的 Windows 10 x64 pro 机器上安装了 Visual Studio 2015 Pro 和 Microsoft Access 2016。当我创建一个 .udl 文件时,我有以下可用选项:

  • 用于 ODBC 驱动程序的 Microsoft OLE DB 提供程序

  • 用于搜索的 Microsoft OLE DB 提供程序

  • 适用于 SQL Server 的 Microsoft OLE DB 提供程序

  • Microsoft OLE DB 简单提供程序

  • MSDataShape

  • Microsoft 目录服务的 OLE DB 提供程序

  • SQL Server 本地客户端 11.0

我认为在过去的几年中,我还会在此列表中看到 Microsoft Jet 4.0 OLE DB。根据我所做的研究,我认为 Jet 4.0 已被弃用,我应该使用 Access Database Engine。我发现以下版本我认为是:

Microsoft Access 数据库引擎 2010 可再发行组件

Microsoft Access 2013 运行时

Microsoft Access 2016 运行时

我下载了 Microsoft Access 2016 Runtime 的 x64 版本,当我尝试安装它时,出现以下错误:

我们无法安装 64 位版本的 Office,因为我们在您的 PC 上发现了以下 32 位程序: Office 16 即点即用扩展性组件 请卸载所有 32 位 Office 程序,然后重试安装 64 位 Office . 如果您想安装 32 位 Office,请运行 32 位安装程序。

我尝试了 32 位版本的 Microsoft Access 2016 运行时,我得到了相同的消息:

我们无法安装 32 位版本的 Office,因为我们在您的 PC 上发现了以下 64 位程序: Office 16 即点即用扩展组件 64 位注册 请卸载所有 64 位 Office 程序,然后重试安装32 位办公室。如果您想安装 64 位 Office,请运行 64 位安装程序。

我尝试关闭所有打开的 Microsoft Office 和 Visual Studio 应用程序,但我得到了同样的错误。我是否安装了正确的组件?有什么办法让它正确安装吗?

0 投票
1 回答
682 浏览

ms-access - Access - Do Not Query Subform When Parentform is Opened

I have an MS Access form, that contains a subform whose recordset is a query that takes quite a while to process and isn't actually needed right away when the parentform is opened, but only after a button on the form is pressed.

Is there a way to implement this with VBA other then completely changing the form with something like Set Me.MySubForm.Form.Recordset = NULL? I've tried Me.MySubForm.Enabled = False but that doesn't work unfortunately.

0 投票
1 回答
52 浏览

ms-access - Access 2016 - 我可以使用 1 个用户输入的参数来搜索查询中的 2 个字段吗?

我正在尝试帮助我的女儿创建一个 Access 2016 DB 来对她大量的 DVD 收藏进行分类。对于每条记录,她都希望将两颗星与电影相关联。我建议使用“MaleStar”和“FemaleStar”字段,但我得到了“外观”,她告诉我她的许多电影都没有男明星。(我认为我们遇到了麻烦。)我们最终将字段命名为“Star1”和“Star2”。有没有一种使用查询设计的方法,我可以向用户询问一个参数并让它搜索两个字段?我们不想让他们为 Star1 字段输入一次参数,然后再为 Star2 字段输入参数。我对 Access 很陌生,所以任何建议都将不胜感激。谢谢。

0 投票
1 回答
38 浏览

ms-access - 如何通过从tableB中获取数据来根据tableA-fieldB自动填充tableA-fieldA?

首先,一些背景:我习惯于使用 Excel,并且一直在使用它为我的世界建设爱好创建生产计算器。由于最近一些需要计算的数据量过多的问题,我终于屈服并尝试将其全部切换到 Access 中。

我一直在阅读有关如何使用 Access 的一些资料,并在此基础上做出了以下决定:

1)我有特定生产水平(1,2...)的地区(北方、温带...)的温度表

2)我有一个具有特定生产水平(1、2...)的地区(潮湿、干旱...)的降水表

3)然后我有一个生物群系表,我在其中混合上述区域以创建具有以下字段的生物群系:
- 生物群系。
- 降水(来自表 2 的下拉菜单)。
- 温度(表 1 中的下拉菜单)。
- 生产力水平(应为表 2 中的降水产量水平乘以表 1 中的温度产量水平)。

问题:我怎样才能让表 3 中的生产力水平是自动的?

注意 1:我不知道 VBA,这是我第一次使用 Access。

注意 2:有人告诉我只将表 3 创建为表单,但我认为这与我想做的事情不符。以防万一它可能是相关的(我没有看到明显的),接下来我将描述我构建这个数据库的第一个目标。

DATA ENTRY FORM:下面引用的所有表格都通过纬度-经度的串联连接。我只成功地部分构建了它(主窗体和城市子窗体)。
- 基于表格的主要表格有 3 个字段:纬度、经度、地形。
- 基于具有 3 个字段的表格的子表单:城市名称、成立日期、倒塌日期。
- 基于 3 个表格的 3 个子表格,每个表格代表一个时间段,有 2 个字段:生物群落(给定区域的生物群落根据时间段发生变化)及其生产力水平。

在构建世界之后,逐个坐标地进行协调,然后我将进入下一阶段 - 创建表格,在其中识别植物和动物,以及从它们衍生的产品及其生产力水平。然后这将用于创建我的世界经济系统和不同财富级别的角色列表。

我可以在 Excel 中稍微轻松地完成这项工作(不使用 VBA),但是数据量会在我使用它之前杀死文件。我只希望我能设法在 Access 中完成它——但我会一步一步地处理这个怪物。现在,我只关注我上面发布的问题。感谢您为我提供的任何帮助。

0 投票
0 回答
146 浏览

ms-access - 在 VBA 中使用隐藏文件

我的 MS Access 数据库必须使用一些文件,但如果我隐藏它们,它会抛出错误 75(“路径/文件访问错误”)。

如何在我编写这些文件的路径的代码部分中指定它们是隐藏的?

0 投票
6 回答
12565 浏览

sql - 选择昨天和今天之间的记录

我试图实现一个简单的 SQL 查询,获取今天的固定时间(例如 18:00)和昨天的固定时间(例如 18:00)之间的记录。

但是,这将返回今天当前时间和昨天之间的所有记录。

有没有办法在指定的时间内返回记录?

编辑:我试过这个查询,但它抛出语法错误。

有什么帮助吗?

0 投票
1 回答
537 浏览

ms-access - MS Access - 将两个 SELECT 语句与一个包含聚合函数的语句联合

假设我有这张数据表,[Table]:

我有两个 SELECT 语句。一种是选择要显示的字段范围:

SELECT * FROM [Table];

另一种是计算这些字段的标准偏差和平均值:

SELECT StDev([ColumnB]) AS [Standard Deviation], Avg([ColumnB]) AS [Average] FROM [Table];

有没有办法将这两个查询结合在一起,或者如果可能的话,在一个查询中?

所以最终结果将如下所示:

但是,我知道从第一个查询开始,它将总共显示 5 行记录。但是从第二个查询开始,它只会显示一条记录。在这种情况下,是否可以在 [Standard Deviation] 和 [Average] 列中指示相同的结果?因此,当我根据这些数据绘制图表时,它将显示为一系列可以连接成水平直线的点。

不确定解释是否足够。请帮忙。

0 投票
0 回答
376 浏览

ms-access - 如何在不执行宏的情况下打开 Microsoft Access Web 表单

我正在开发一个 C# 应用程序来自动从 Microsoft Access 表单中读取元数据。因此,用户干扰是不可能的。

我使用 Office 互操作的VBA 对象模型。

某些表单具有在打开表单时执行的宏。为了防止这种情况,我在设计模式下打开表单,如下所示:

但是,如果表单将IsWeb属性设置为,true则会收到以下错误消息:

运行时错误“32641”:您无法使用当前设置在设计模式下打开数据库对象“Main”

我已经尝试过其他AcFormView模式,但它们要么不起作用,要么触发宏。

  • 我已经使用shift绕过AutoExec宏的密钥打开了 Access 文件。
  • 我正在使用 Microsoft Office 2016
  • 我使用 VBA 进行实验,使用 C# (.NET 4.5) 进行开发
0 投票
1 回答
758 浏览

sql-server - Microsoft Access 2016 VBA 中 aceDAO 记录集的显式声明

我有使用 Microsoft SQL Server 2012 Express 作为后端和 Access 2016 作为前端的项目。我之前的代码在 Access 2003 和 SQL Server 2000 数据库中。现在我将后端迁移到 SQL Server 2012 Express。还将 .mdb 转换为 .accdb 文件格式。我的项目中有 DAO 和 ADO 的记录集。该软件安装在我客户的几个节点上。为了使记录集声明更容易,我使用了 DAO.recordset 和 ADO.Recordset,在 VBA 代码的引用窗口中,我确实在 ADO 引用之前有 DAO 引用。但是现在当我升级到 Access 2016 时,我想使用 aceDAO 记录集而不是 DAO。

我正在尝试找出我尝试过的 aceDAO 记录集的显式声明语法

我收到编译错误“未定义用户定义的类型”

我不能依赖 VBA 参考窗口中的参考优先级,有时如果出现问题,它们会在客户端机器上更改。这肯定会给我带来问题。

0 投票
1 回答
1075 浏览

sql-server - 错误 3021“没有当前记录”

我有一个位于文件夹中的 Access 文件。该文件夹链接到公司的服务器。这意味着可以通过公司中的每台计算机访问 Access 文件。

我遇到的问题是,虽然我能够从一台计算机登录访问文件,但当我尝试从另一台计算机登录同一文件时,出现错误“错误 3021,无当前记录”。

这是我的代码。

就在那里让我很困惑。因为我从服务器登录到同一个文件,不应该没有错误吗?仅当我在另一台计算机上登录访问文件时才会发生此错误。

有谁知道为什么会发生这种情况以及我该如何解决?