You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MS Access宏功能正常却触发类型不匹配等错误,求技术解决

Access组合框宏类型不匹配错误(错误码13/3021)解决方法

错误原因分析

  1. 控件属性误用:你用Combo87.Text判断选中值,但Text属性仅在组合框获得焦点时有效,失去焦点时访问会触发类型不匹配(错误码13)。
  2. 宏逻辑写法错误:用SetLocalVar存储布尔判断表达式的写法不符合Access宏语法规范,会导致类型转换失败。
  3. 错误连锁反应:错误码3021是前期类型不匹配引发的后续问题,比如引用了空值或无效对象。

具体解决步骤

  • 替换判断属性:把所有[Forms]![Menu]![Combo87].[Text]改成[Forms]![Menu]![Combo87].[Value],如果宏在Menu窗体里直接运行,可简化为[Combo87]。
  • 重构宏的条件逻辑:删除错误的SetLocalVar步骤,直接在宏的条件列中写判断语句,对应操作设置标签标题:
    • 条件1:[Combo87]="PSA",操作选SetProperty,目标控件选要修改的标签,Property选Caption,Value填Persons(不要加引号)
    • 条件2:[Combo87]="lashing",对应设置标签的标题内容
    • 条件3:[Combo87]="lifting",对应设置标签的标题内容
  • 检查绑定列:确保组合框的绑定列是存储短文本的列(默认第一列),如果是多列组合框,用[Combo87].Column(0)(0为列索引,从0开始)来取值。

验证方法

修改完成后,切换组合框选项,检查标签标题是否正常更新,同时确认错误弹窗不再出现。

内容的提问来源于stack exchange,提问作者Igor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 10:35:04