问题标签 [autoexec]

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 回答
10861 浏览

vba - Access 2010 VBA 错误 2425“您输入的表达式具有数据库找不到的函数名称”

在 Access 2010 中,我有一个 Autoexec 宏,它调用一个名为 CloseAllToolbars() 的函数(不是子函数)。

在 .MDB 文件中,当我打开它时,它运行该函数就好了。我将其保存并发布到 .MDE,.MDE 可以正常运行该功能。我将 .MDE 复制到一台运行 Windows 10 且未安装 Office 或 Access 的全新笔记本电脑上。我已经安装了 Access Runtime 2010。我的开发 PC 也是 Windows 10。

当我在新笔记本电脑上运行此 MDE 时,它给了我错误消息 2425“您输入的表达式具有数据库找不到的函数名称”。

0 投票
0 回答
57 浏览

ms-access - 事件后调用自动压缩

我有一些代码,它工作得非常好,可以在打开数据库时压缩 Access 数据库。

但是,我对如何做下一步有点困惑。

我想要发生的是,当数据库表中的项目被标记为存档并随后存档时,我希望这段代码几乎像 AutoExec 一样运行。

你能建议最好的方法吗?

提前致谢

0 投票
1 回答
1489 浏览

ms-access - MS Access - “无法找到名称...在表达式中”错误 - IIf CDbl 语句

我的问题

我有一个相当直接的 autoexec 宏来为我的拆分数据库执行版本控制检查。我在前端有一个名为LocalVersionNumber的表,在后端有一个名为 的表LiveVersionNumber。每个版本号可能有多个值(例如,正在使用哪个版本的后端,哪个前端等)。因此,这些表中的值通过查询__LiveVersionParser_Q__LocalVersionParser_Q. 无需过多浪费细节,本地版本号应始终等于或大于实时版本号。

我编写了一个查询来比较我的本地和实时解析值 - 并通过 IIF 表达式确定更新或保持当前版本的逻辑。此测试查询运行没有问题,但现在我已将逻辑拉入 autoexec 宏并且出现错误:

找不到您在表达式中输入的名称“__LiveVersionParser_Q”。

我已经仔细检查过,表格和字段拼写正确。我什至已经将宏中的语句复制并粘贴回查询中,并且查询仍然正确执行。

编码

(在宏生成器不是 VBA - 呃)

“如果”行动

然后...执行我的更新前端逻辑。

注意:对于那些询问“为什么使用 CDbl?”的人,之所以使用它,是因为版本号是一个文本字符串,其中包含多个由“.”分隔的值。在解析版本之后,然后通过将这些字符串转换为双精度(使用 CDbl)来比较这些字符串以查看哪个更大。

故障排除

正如我之前所说,这个语句确实有效,只是不在这个宏中。我使用以下查询对其进行了故障排除(为了保持一致,这是我测试的“设计”视图表达式,而不是 SQL):

有什么建议么?我觉得我错过了一些简单的东西。

0 投票
1 回答
765 浏览

emacs - 如何在 Emacs 中启动时执行函数

当我右键单击文件管理器中的文件以使用 Emacs 打开文档时,我想开始执行以下功能(从Emacs 中的句子后用两个替换一个空格)运行。

这将转换". "". "不增加现有两个空间出现的空间。

如何才能做到这一点。我想将 (space12) 添加到 init.el 但它似乎是在加载文档之前加载的。

样本输入:

0 投票
0 回答
83 浏览

ms-access - 运行我的 AutoExec 宏时未定义 VBA 访问用户定义的类型

我正在尝试测试我编写的代码,当我去运行我的 AutoExec 宏时,我得到了错误

“未定义用户定义类型”

在以下代码行:

我在我的工具->参考下设置了以下参考:

  • Microsoft Access 16.0 对象库
  • OLE 自动化
  • Microsoft ActiveX 数据对象 6.1 库
  • Microsoft Outlook 16.0 对象库
  • Microsoft Office 16.0 Access 数据库引擎对象库
  • 应用程序的 Visual Basic

我有什么遗漏吗?

0 投票
6 回答
2317 浏览

vba - 如何绕过 MSAccss AutoExec 宏并绕过启动表单

如何绕过 MSAccess autoexec 宏和启动表单,对具有数百个表单和报告的大型 MS Access 2003 应用程序进行深度遗留代码升级?

它是从 Access 2003 升级到 Access 2016、2019 或 365。

这是一个任务关键型系统,在没有任何 VBA 代码更新的情况下保持活力并依靠拐杖运行了 15 年。

  • 应用程序中的文件
    • MDB 和 ACCDB 格式的多个 MSAccess 文件
    • 没有带有已编译 VBA 代码的 MDE 或 ACCDE 格式的 MSAccess 文件
    • 没有 MSAccess 其他文件,例如 mdw 安全文件
  • 我为数据库运行一个 dos 命令 - PATH_TO_MSACCESS.exe DB_NAME.mdb
  • 我正在使用 Office 365 中的 32 位 MSAccess.exe。
    • 请注意,如果在 64 位 MSAccess.exe 上运行 VBA 调用 Windows 操作系统 Win32 API 方法,则会出现兼容性和 VBA 编译器错误。此应用程序调用了几 (5) 个 Win32 API 调用。从技术上讲,MS Access 64 位会将一些从 Win32 API 发送/返回的 32 位数据视为 64 位,从而导致错误。

最困难的部分是许多网页以及与此相关的几乎所有 Microsoft 页面都已从网络上删除。


  • 试过但没用
    • 打开 MSAccess 数据库时按住 shift 键
    • 按 F11 打开 Access 中的导航窗格(不打开)。如果导航窗格打开,我可以编辑 AutoExec 宏或启动表单的 Form_Open 代码
  • 尝试过,不完美,并且有效
    • 运行 MSAccess.exe 命令行上不存在的宏,在错误消息上多次单击转义,单击 MSAccess 功能区以获取 VBA 代码。凌乱,但它让我进入了 VBA 代码。
      • 添加了一个“Stop”作为名为“autoexec”的宏的第一行以及启动表单的“Form_Open()”方法的第一行。我必须为表单添加一个空的“Form_Open()”事件处理程序

当前状态:

  • 该应用程序在 2016 年之前使用 MS Access 版本的机器上运行正常
  • 当机器上仅安装 32 位 MS Access 365/2019 时,它会以多种方式失败。
    • 我一直在查找和修复错误的配置文件条目、不正确的安装路径等问题,但需要在 VBA 调试器中调试 VBA 启动代码和初始表单加载。
      • 我无法在 AutoExec 宏的第一行直接进入 VBA 调试器或启动表单的 Form_Open 函数。MSAccess 始终运行 autoexec 宏并显示启动窗体。
        • 我可以通过运行 MSaccess.exe 命令行并指定它运行一个不存在的宏来进入 VBA。

以下是基于 Google 搜索的可能解决方案,按 Access 版本细分,因为相关代码/数据库设置可能特定于 95 至 2010 年的任何 Access 版本。


Access 2007:从命令行打开 MS-Access 数据库而不运行任何启动 vba 代码? 打开MDB数据库时按住shift键


Access XP 无需执行脚本或表单即可打开访问数据库

  • 打开Access数据库时按住shift键
  • 删除 AutoExec 宏
  • 从数据库中删除启动表单设置

Access 2007: 使用 VBA 打开由 mdw 文件保护的 ms-access 数据库时模拟 SHIFT 键按下?

  • Access 数据库由 MDW 安全文件保护的情况略有不同
  • 相同的答案

访问 XP/2003/2007? 从 MSAccess 打开 MSAccess 时如何跳过 Autoexec 宏?

  • 方法一:
  • 方法二:
    • 从数据库中提取 Autoexec 宏,将其替换为空白 AutoExec 宏
    • 使用 DoCmd.DatabaseTransfer acImport 和 DoCmd.DatabaseTransfer acExport
  • 方法三:
    • 使用 VBA 代码重命名 AutoExec 宏
    • OpenCurrentDatabase(“您的数据库”)
    • DoCmd.Rename "Autoexec", acMacro, "tmp_Autoexec"
    • 关闭当前数据库

MS Access 键盘快捷键,用于获取 Access 数据库中的 VBA 代码或对象。从https://support.microsoft.com/en-us/office/keyboard-shortcuts-for-access-70a673e4-4f7b-4300-b8e5-3320fa6606e2 我没有尝试过 MSAccess 键盘快捷键,看看他们是否让我打开并查看 Access VBA 代码、工具栏、表格/表单设计查看器,或切换到代码编辑模式。为了完整起见,我将它们包括在这里。

  • F2 - 在数据表或设计视图中的编辑模式(显示插入点)和导航模式之间切换
  • F4 - 打开对象的属性窗格
  • F5 - 从表单设计视图切换到表单视图
  • F6 - 在 MS Access 界面中的窗格之间切换
  • F10 (?) 取消隐藏功能区
  • F11 - 显示或隐藏导航窗格
  • Alt-X、Alt-X、1 - 打开功能区中的外部数据选项卡
  • Alt-Y - 打开功能区中的数据库工具选项卡
  • Alt-J,T - 打开功能区中的表格选项卡
  • Alt-X,2 - 打开功能区中的加载项选项卡
  • Control-F1 - 展开/折叠功能区
  • Alt-F11 - 切换到/从 VBA 编辑器

在 VBA 代码中显示或隐藏 MSAccess 功能区工具栏。为了完整起见,包括在此处。此应用程序在应用程序启动时隐藏功能区栏。 MSAccess - 最小化工具栏功能区 OnLoad()?

  • MSAccess 2010 及更高版本。acToolbarNo 在此应用程序的 VBA 代码中
    • DoCmd.ShowToolbar "Ribbon", acToolbarNo '隐藏整个工具栏
    • DoCmd.ShowToolbar "Ribbon", acToolbarYes '显示
  • 2010 年,2013 年 MSACcess
    • CommandBars.ExecuteMso“最小化功能区”
  • 在 MSAccess 2010 之前
    • 发送键“^{F1}”,假

特殊情况:如果 Access 启动表单的记录源有错误,您可能会在 Access 启动表单上收到错误消息。这不是我的应用程序的情况,但包括在这里完整性 困难跟踪微软访问 VBA 代码


特殊情况:您从启动表单中获得无限循环的对话框提示或错误。按住“Control-Break”键,同时单击“确定”以使错误消息跳出错误循环。https://bettersolutions.com/vba/debugging/index.htm


通过右键单击启动表单的标题栏或右键单击启动表单的主体,可以将主启动表单中断到 MS Access 对象资源管理器。

  • 右键单击启动窗体的标题栏有这些菜单命令
    • 节省
    • 关闭并关闭所有
    • 表单视图
    • 布局视图
    • 设计视图
  • 右键单击启动窗体的主体有这些菜单命令
    • 表单视图
    • 布局视图
    • 设计视图
    • 剪切、复制、过去(禁用)
    • 表单属性(禁用)
    • 属性(已禁用)
0 投票
1 回答
38 浏览

vba - 访问拆分 DB (AutoExec) 的建议启动任务

我正在研究一个 MS Access 拆分数据库,我在许多地方阅读以创建 AutoExec 宏来自动化一些启动任务,例如保护前端(隐藏功能区等)。我正在学习这个项目,所以我是一个访问编程的新手。

任何人都可以列出,比如一些可以添加到前端的“良好实践”启动任务,如果可能的话,还有示例代码/网站链接。

谢谢。

0 投票
0 回答
11 浏览

autoexec - 从表单上的列表框中选择的 Autoexec

帮助我使用ms access 16。

我的表单上有包含到期日期值的列表框作为列。我希望 AutoExec 执行:- 打开表单,AutoClick 列表框如果到期日期 <= 日期(),然后转到新记录。

0 投票
0 回答
30 浏览

python - 有没有办法在退出 Spyder 时自动执行 Python 文件(有点像启动的反面)?

Spyder可以在启动时执行代码;甚至可以在 Spyder 首次启动时运行整个 .py 文件。我只是想知道 Spyder 关闭时是否有类似的情况?也就是说,在您关闭/退出 Spyder 时自动执行一个 .py 文件(因此该文件将在 Spyder 关闭之前执行)?