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

如何从数据表子窗体打开指定记录的所有者窗体

解决Access子窗体点击字段打开对应记录的问题

首先,你获取OwnerID的方式有误,子窗体数据表视图里,当前点击行的字段值直接用Me!OwnerID就能拿到,不用加查询名[EventsAll]。修改后的代码如下:

Private Sub OwnerName_Click()
    Dim recID As Variant ' 用Variant避免空值报错
    ' 直接获取当前行的OwnerID
    recID = Me!OwnerID
    
    ' 先判断ID是否有效,避免空值打开空白窗体
    If IsNull(recID) Then
        MsgBox "未找到对应所有者ID", vbExclamation
        Exit Sub
    End If
    
    Debug.Print "recID = " & recID
    
    ' 关闭父窗体(如果确实需要的话,可根据实际情况保留)
    If Forms("EventsParent").IsLoaded Then
        DoCmd.Close acForm, "EventsParent"
    End If
    
    ' 打开Owner窗体并定位到指定记录
    DoCmd.OpenForm "Owner", , , "ID = " & recID
End Sub

额外注意事项:

  • 确保你的子窗体数据源(查询/表)里确实包含OwnerID字段,并且该字段和Owner窗体的ID字段类型一致(比如都是数字型)。
  • 如果OwnerID是文本类型,过滤条件要加单引号:"ID = '" & recID & "'"
  • 不需要额外引用父窗体再关闭,直接判断窗体是否加载后关闭更稳妥。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 14:36:04