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

MS Access同表字段录入能否依赖另一字段?表单联动控制如何实现

MS Access 表单字段联动可编辑实现方案

操作步骤

  • 打开目标表单的「设计视图」,确认两个控件的命名:绑定Impact字段的下拉框默认名称为Impact,绑定Impact_if_Other字段的输入框默认名称为Impact_if_Other,如果有自定义改名,后续代码中对应替换即可。
  • 配置下拉框选项切换时的联动逻辑:
    1. 右键点击Impact下拉框,选择「属性」,切换到「事件」选项卡
    2. 找到「更新后」事件,点击输入框右侧的...按钮,选择「代码生成器」进入VBA编辑界面
    3. 在自动生成的事件框架中填入如下代码:
    Private Sub Impact_AfterUpdate()
        If Me!Impact = "Other" Then
            Me!Impact_if_Other.Locked = False
            Me!Impact_if_Other.Enabled = True
        Else
            Me!Impact_if_Other.Locked = True
            Me!Impact_if_Other.Enabled = False
            ' 不需要保留非Other场景下的填写内容可取消下方注释
            ' Me!Impact_if_Other = Null
        End If
    End Sub
    
  • 配置表单打开时的初始状态(避免历史数据为Other时字段仍被锁定):
    1. 双击表单设计视图左上角标尺交叉处的表单选择小方块,打开表单整体属性面板
    2. 切换到「事件」选项卡,找到「加载」事件,同样选择代码生成器,填入如下代码:
    Private Sub Form_Load()
        If Me!Impact = "Other" Then
            Me!Impact_if_Other.Locked = False
            Me!Impact_if_Other.Enabled = True
        Else
            Me!Impact_if_Other.Locked = True
            Me!Impact_if_Other.Enabled = False
        End If
    End Sub
    
  • 保存代码和表单设计,切换到表单视图测试即可。

小提示:如果不希望控件在不可编辑时显示为灰色,可删除代码中所有Enabled属性相关的行,仅保留Locked属性的设置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:15:06