问题标签 [ms-access-forms]

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 投票
2 回答
57 浏览

sql - 如何在不创建查询的情况下从 Access 表中获取值

我是 Access 的新手,我正在尝试为我的想法找到一个替代(和更有效)的解决方案。我有一个包含多个字段的表,我对只检索一个字段(文本值)感兴趣。

我的目标是创建一个组合框,显示该字段中的所有值(不重复),我设法通过将组合框链接到手动创建的查询来消除该字段的重复项。

这是一个更清楚的例子:

如何通过 VBA 获得相同的结果?当然,对于字段 1 中的任何记录更改,它必须是动态的。

0 投票
1 回答
145 浏览

vba - 访问表单宏 Where 条件

这是我在此的头一篇博文。有点像 Access 的新手,我搜索了论坛来回答我的问题,并尝试使用类似的答案来让我的宏工作,但我有一个语法错误。

我想单击一个表单 ( ) 上的details按钮Employee Profile,然后打开另一个表单 ( Employee Training Records),它将在其中提取与当前员工资料相关的记录。

在我目前的情况下,我有:

我收到一个语法错误说:

(缺少运算符)在查询表达式 '[st_no]=IEC 62841-2-5 AND [emp_id]='3"

我错过了什么?

0 投票
1 回答
192 浏览

vba - BeforeUpdate 带有“新记录”按钮

我有一个访问表单,用户有时会忘记保存。我放了一个更新前触发器来弹出消息,提醒用户在采取任何行动之前保存或取消。
我在网上找到了这段代码,它适用于除“新记录”按钮之外的所有内容。
据我所知Me.Dirty应该做的伎俩。

新记录的代码

0 投票
0 回答
166 浏览

sql-server - ADO 在连续表单 vba 上的先前记录中插入导致 #error

我有一个 Ms Access 应用程序前端,它使用 ADO 访问 SQL Server 14 数据库。
有一个以 ADODB 记录集为界的连续形式。

我有一个连接字符串的函数

光标设置

我有一个将记录集绑定到表单的函数。如果用户要输入新记录,则会发生这种情况:

表格1

用户即将输入数据

表格1

有谁知道如何处理该问题或有解决方法?

0 投票
1 回答
31 浏览

database - 根据参数应用查询条件

我需要在 MS Access 数据库中运行查询,从表单中提供一些参数。想象下一个例子:

我有一个表格,其中包含:

  • CheckBox1 和 Text1
  • CheckBox2 和 Text2
  • 按钮(运行查询)

现在想象一个包含两个字段的查询:ID, NAME.

我只想在ID启用 CheckBox1 时按 Text1 过滤。如果不是,我希望查询不以ID任何方式过滤(好像“查询”输入为空)。

NAME同样,我只想在启用 CheckBox2 时按 Text2进行过滤。如果没有,我希望查询不以NAME任何方式过滤(就像ID以前一样)。

几天来,我尝试了很多事情,并且嗅探了大量互联网页面,但仍然没有提出解决方案。

0 投票
1 回答
205 浏览

ms-access - 添加背景图像时,MS Access 表单大小会增加

我有一个 JPEG 文件,我想将它用作我的 MS Access 数据库中所有表单的背景图片。图片大小约为 80 KB。但是,对于我添加的每个表单,数据库大小都会增加大约 12 兆字节,并且在压缩和修复之后不会减少。为什么会发生这种情况,我该怎么做才能避免这种情况?

0 投票
1 回答
63 浏览

vba - 使用组合框过滤子表单

我想要过滤子表单 ( SubSearchMaster_frm) 的表单上有一个组合框。

我收到:

运行时错误 3464:表达式中的数据类型不匹配。

代码如下:

子表单是一个查询。

我也试过:

但我也遇到了错误。

0 投票
2 回答
77 浏览

vba - 访问表单不出现,但程序运行

我有一个名为 frmReportMetrics 的 Access 表单,它作为显示表单打开。在打开时,它使用UserIsInGroup()来验证权限。如果用户不在指定的组中,则 Select Case - Case False 语句将关闭 frmReportMetrics 并打开 frmAccessDenied,这只是一个带有文本的停车标志图像,警告个人他们无权使用该应用程序。

然后我希望应用程序在显示倒计时 5 秒后自动关闭。所以我 在 frmAccessDenied 中使用了pause()

我敢肯定它可以更短...

问题是在测试时,我将自己从 AD 安全组中删除并打开 Access 前端,frmAccessDenied 表单没有按预期弹出,但应用程序确实在 5 秒内退出。我也从未见过 frmReportMetrics。我在 frmAccessDenied 中尝试了 _Load、_Open、_Activate 和 _Current,但它们都不允许出现 frmAccessDenied。_GoftFocus 工作并且 frmAccessDenied 出现,我看到停止标志和警报,但是倒计时没有继续,应用程序没有在 5 秒内退出。

当我逐步完成 frmAccessDenied 时,我可以在任何时候重置并且 frmAccessDenied 出现,我看到带有警报的停止标志以及底部的适当 Me.lblClosingIn.Caption 并且如果我一直通过应用程序退出。 在此处输入图像描述

我是否在某处错过了诸如 Exit Sub 之类的东西?或者我应该使用什么事件过程?

UserIsInGroup() 和 pause() 都按预期工作,分别感谢 @Nigel Heffernan 和 @Steve Mallory

TIA,蒂姆

PS @Erik AI 全部添加了 DoEvents,但仍然没有绘制 frmAccessDenied。

我尝试了 For Next 但这也无济于事。

当我调试并运行 _Open、_Load、_Activate 和 _Current 时,每个都有断点,frmAccessDenied 永远不会变得可见。我什至尝试过自由应用 DoEvents!

当表单最终弹出时,其值为“此应用程序将在 2 秒内关闭!”

我错过了什么?

瞧!@汤姆罗宾逊!这是了解 Access 内部工作原理的一个很好的小块。表单虽然已创建,但在 Access 使其可见或使其可见之前是不可见的。我继续在 _Open 上显示表单,在 _Load 中显示倒计时。按规格工作!

0 投票
1 回答
78 浏览

vba - Using Linked Images in MS Access forms

I created a form in Microsoft Access 2013 with a listbox called lstPhotoID that is populated with photo names from a query.

I want to display, on the same form, a preview of the images as I click on (select) an image in the list.

I added an image box imgPreview and set the Picture property to Linked but beyond this I'm stuck.

0 投票
1 回答
97 浏览

vba - DoCmd.Close 之后的语句会发生什么?

DoCmd.Close写在表单中私有子语句之后的行上的语句会发生什么情况?它们是在关闭之前执行的吗?

frmA开了吗?

子程序是否xxx执行?