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

如何在MS Access表单中根据Item ID打开对应库存记录?

MS Access表单跳转对应库存记录问题解决

问题背景

我有一个名为New Departure的Access表单,表单上有Item ID输入控件和Open按钮,需求是:输入有效的Item ID后,点击Open按钮或按Enter键,在表单中打开1 Inventory表对应的记录。目前给Open按钮的OnClick事件添加了OpenForm宏,但无论输入什么Item ID,打开的始终是1 Inventory表的最后一条记录。

补充信息:

  • Item ID字段为长整型,是1 Inventory表的主键(属性表显示该字段必填、无重复,且为表主键)
  • 宏使用OpenForm操作,目标为关联1 Inventory的表单

解决步骤

1. 修正宏的Where条件(核心问题)

当前宏的Where参数未正确关联输入框的值,导致筛选失效,默认跳转到最后一条记录。修改方式:
在宏的OpenForm操作中,Where Condition栏填写:

[Item ID] = Forms![New Departure]![ItemID输入框名称]

注意:

  • 替换ItemID输入框名称为你表单上实际的输入控件名称(比如控件叫txtItemID,就写Forms![New Departure]![txtItemID])
  • 因Item ID是数字型,无需加单引号;若为文本型则需添加:[Item ID] = 'Forms![New Departure]![txtItemID]'

2. 确保数据类型匹配

检查New Departure表单上的Item ID输入控件数据类型,必须和1 Inventory表的Item ID字段类型一致(均为长整型):

  • 打开输入控件的属性表,找到数据类型选项,设置为“长整型”,避免类型不匹配导致筛选失效

3. 优化OpenForm的Data Mode

在宏的OpenForm操作中,将Data Mode设置为编辑或只读,不要设为添加,否则会默认打开新记录而非匹配的现有记录

4. 绑定Enter键触发功能

要实现按Enter键直接跳转,给Item ID输入控件添加KeyPress事件的VBA代码:

  1. 打开New Departure表单的设计视图
  2. 选中Item ID输入控件,打开属性表→事件→KeyPress→点击[...]打开VBA编辑器
  3. 输入以下代码(替换控件名称为实际名称):
Private Sub txtItemID_KeyPress(KeyAscii As Integer)
    ' 按下Enter键时触发Open按钮的点击事件
    If KeyAscii = 13 Then
        Me.cmdOpen_Click ' 替换cmdOpen为你的Open按钮名称
        KeyAscii = 0 ' 取消默认的Enter键行为
    End If
End Sub

5. 增加ID有效性验证(可选)

为避免输入无效ID时跳转错误,可在Open按钮的OnClick事件中添加验证逻辑:

Private Sub cmdOpen_Click()
    ' 检查输入的Item ID是否为空
    If IsNull(Me.txtItemID) Or Me.txtItemID = "" Then
        MsgBox "请输入Item ID!"
        Me.txtItemID.SetFocus
        Exit Sub
    End If
    
    ' 检查Item ID是否存在于库存表
    If DCount("*", "1 Inventory", "[Item ID] = " & Me.txtItemID) = 0 Then
        MsgBox "该Item ID不存在,请重新输入!"
        Me.txtItemID.SetFocus
        Me.txtItemID.SelStart = 0
        Me.txtItemID.SelLength = Len(Me.txtItemID)
        Exit Sub
    End If
    
    ' 执行打开表单操作
    DoCmd.OpenForm "你的库存表单名称", , , "[Item ID] = " & Me.txtItemID
End Sub

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 09:55:19