MS Access组合框当前值不在行源时如何添加提示(非开发者向)
非开发者快速解决Access组合框无效值提示的方法
用Access自带宏实现(无需写代码)
按以下步骤操作即可:
- 打开子窗体(subForm)的设计视图(右键点击子窗体,选择「设计视图」)
- 选中绑定
MemberID的组合框,按F4调出属性表 - 切换到「事件」选项卡,找到「更新前」项,点击右侧下拉箭头选择「生成宏」
- 在宏编辑窗口中,先添加条件:
IsNull(DLookUp("MemberID", "Members", "MemberID = Forms!你的主窗体名!subForm.Form!MemberID"))注意:把「你的主窗体名」替换成你实际使用的主窗体名称,不要直接照搬
- 在条件下方添加第一个操作:选择「MsgBox」,在「消息」栏输入「当前的MemberID已不可用,请重新从下拉列表选择」,「标题」可填写「提示」
- 再添加第二个操作:选择「CancelEvent」,用于阻止无效值被保存
- 保存宏并关闭编辑窗口,回到属性表确认「更新前」事件已绑定该宏
- 切换回窗体视图测试:当组合框中的ID不在
Members表中时,会自动弹出提示并禁止保存无效值
懒人简化版(无需写条件)
如果觉得上面的条件语句太麻烦,可直接用这个快速方案:
- 重复上述前3步,在组合框的「更新前」事件绑定宏
- 在宏编辑窗口中添加两个操作:
- 选择「MsgBox」,输入提示内容「当前MemberID已失效,请重新选择」
- 选择「CancelEvent」
- 保存宏后即可使用,虽然不会精准判断值是否有效,但能给用户明确的提醒
内容的提问来源于stack exchange,提问作者Jan
相关产品推荐
相关产品推荐

