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

Access 2021 VBA:双击搜索列表项跳转对应记录问题

Access 2021 VBA 实现窗体跳转至指定ID记录的解决方案

方法一:使用窗体记录集的FindFirst方法

正确代码示例:

' 先确认目标窗体已打开
If CurrentProject.AllForms("frmMyForm").IsLoaded Then
    Forms!frmMyForm.Recordset.FindFirst "[ID] = " & Me.lstItems.Value
    ' 无匹配记录时提示用户
    If Forms!frmMyForm.Recordset.NoMatch Then
        MsgBox "未找到对应ID的记录"
    End If
End If

你之前代码的错误点:

  • 直接写frmMyForm会被当作未定义变量,必须通过Forms!引用已打开的窗体对象
  • 把Me.lstItems.Value放在单引号内,变成了固定字符串而非实际ID值
  • ID是数字类型时,无需使用LIKE,直接用=匹配更准确高效

方法二:使用DoCmd.SearchForRecord(Access 2010及以上版本支持)

这种写法更简洁,无需直接操作记录集:

DoCmd.SearchForRecord acDataForm, "frmMyForm", acFirst, "[ID] = " & Me.lstItems.Value

参数说明:

  • acDataForm:指定操作对象为窗体
  • "frmMyForm":目标窗体的名称
  • acFirst:从第一条记录开始查找匹配项
  • 最后一项为查找条件,语法和FindFirst一致

额外注意

如果你的ID字段是文本类型,需要给ID值添加单引号,条件写法改为:

"[ID] = '" & Me.lstItems.Value & "'"

另外必须保证frmMyForm处于打开状态,否则会触发报错。

内容的提问来源于stack exchange,提问作者Shaun.M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 14:20:19