在 Microsoft Access 中创建快速输入功能

Posted

技术标签:

【中文标题】在 Microsoft Access 中创建快速输入功能【英文标题】:Creating a quick entry feature in Microsoft Access 【发布时间】:2013-07-19 23:36:04 【问题描述】:

我在 Microsoft Access 中有一个非常好的项目任务管理系统,但我仍然缺少的一个功能是某种类型的“快速进入”,例如在许多良好的生产力应用程序中经常发现的工具。

这就是它的工作原理:

场景 1:

您在另一个应用程序中,正在处理一些事情,而您只记得需要完成的事情。您点击了预定义的快捷方式:CTRL + ALT + T(同样,来自 Microsoft Access 外部),它会弹出一个带有文本框的小型访问表单,您可以在其中键入需要完成的内容,例如

告知主要利益相关者对时间线的担忧

您按下回车键,它会立即保存为 Microsoft Access 中的记录。

另一种方案,但稍微复杂一些...

场景 2:

如上所述,但您希望在任务名称之外添加更多详细信息,例如您需要与之交谈的人以及截止日期。文本框中的输入可能如下所示:

通知@Sally 有关时间线的疑虑>+3

'@' 告诉 access 用'Sally' 填充一个名为'Contact' 的字段(除非它已经存在),而'>+3' 被 access 解释为从今天起 3 天后的到期日。

场景 1 和场景 2 的执行难度如何?需要什么级别的 VBA/编程知识?

谢谢,

【问题讨论】:

【参考方案1】:

我会说这需要对 VBA 有相当大的信心。

您需要注册一个全局热键;也就是说,可以从 Access 应用程序外部捕获的键盘组合。它需要 win-api 调用。这里是some code。

您需要知道在哪里拨打这些电话。我相信您必须将它们放在标准模块中,而不是放在表单的类模块中。 (我没有仔细检查过,已经很晚了。)

您需要对这段代码的作用有一点了解。永远不要尝试输入这个 api 代码 - 从可靠的来源复制它,就像它一样!您不需要完全理解代码,但您需要知道如何(以及何时)调用每个函数。

一旦您注册了热键,您的 VBA 就需要将您的应用程序置于最前面并显示您的表单,并将其聚焦。可靠地将应用程序置于最前面可能还需要 api 调用。

一旦您的表单被打开(并获得焦点),您就可以在其上放置一个按钮来解析其文本框中的信息。但是,如果您无论如何都在设计表单,我会添加复选框、组合框等,而不是尝试解析复杂的句子/语句。

【讨论】:

嗯,使用 Alt-Tab 激活您的应用程序有什么问题,然后可能只是在您的应用程序中有一个热键来显示表单..?考虑更简单的选项很重要:) 感谢您的洞察力。我建议使用基于文本的条目,因为我发现它实际上比使用鼠标/键盘选择各种复选框等更快。您使用 Alt-Tab 的建议是完全明智的,我发现自己非常依赖于全球热门在我工作的任何地方都可以使用密钥(我是一名管理顾问,并且经常打开多个 Excel 文档,因此在应用程序中使用 alt-tab 可能会很乏味)。看看你提供的东西,它似乎有点超出我的基本技能,所以我可能需要忍受一些小小的不便:) 您可能会调查已可用于在 Windows 中分配全局热键的应用程序。我不确定这是否或如何对您已经运行的 Access 实例有所帮助。仅供参考,您可能已经知道,但在 Excel 中按 Ctrl-Tab 会在工作簿之间移动。

以上是关于在 Microsoft Access 中创建快速输入功能的主要内容,如果未能解决你的问题,请参考以下文章

使用 VBA 在 Microsoft Access 中创建表单

如何在 C# 中创建 Microsoft Access 数据库? [复制]

如何使用 SQL 在 Microsoft Access 2013 中创建查找字段?

如何在 Microsoft Access 数据库中创建查询对象? [复制]

如何在 Microsoft Access 中创建/更新具有复杂表关系的表单中的记录集

Microsoft Access 表单和 Microsoft Windows 应用程序