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

如何在MS Access中通过表单查询指定储物柜的租赁协议历史?

在MS Access中实现极简版储物柜租赁历史查询

完全可以实现,且能做到操作足够简单,适合经验不足的用户。以下是具体实现方案:

1. 先创建关联查询

  • 新建选择查询,关联「储物柜」「租赁协议」「租户联系信息」三张表:
    • 通过「储物柜编号」关联储物柜表与租赁协议表;
    • 通过租赁协议表中的「租户ID」关联租户联系信息表;
  • 选择需要展示的字段(比如租赁协议编号、租户姓名、租赁起止日期、租金等),保留「储物柜编号」作为筛选依据。

2. 设计极简输入界面

  • 创建空白表单作为主操作界面:
    • 添加文本框控件,命名为txtLockerID,对应标签改为「输入储物柜编号」;
    • 可选:添加按钮控件(标题设为「查看历史」),或直接用自动刷新逻辑(更省心)。

3. 实现一键/自动显示历史

方案A:点击按钮查看(直观易懂)

  • 右键按钮 → 「事件」→「点击」→ 选择「事件过程」,进入VBA编辑器输入代码:
    Private Sub btnShowHistory_Click()
        If IsNull(Me.txtLockerID) Or Me.txtLockerID = "" Then
            MsgBox "请先输入储物柜编号!", vbExclamation
            Exit Sub
        End If
        ' 打开预先创建的历史显示表单,筛选对应编号记录
        DoCmd.OpenForm "frmLockerHistory", , , "储物柜编号 = '" & Me.txtLockerID & "'"
    End Sub
    
  • 其中frmLockerHistory是你基于第一步查询创建的表单,用来展示租赁历史记录(布局选表格型即可)。

方案B:输入后自动显示(更便捷)

  • 在主表单中嵌入子表单,子表单数据源选择第一步创建的查询;
  • 设置子表单的「链接主字段」为txtLockerID,「链接子字段」为「储物柜编号」;
  • 给txtLockerID的「更新后」事件添加代码:
    Private Sub txtLockerID_AfterUpdate()
        If Not IsNull(Me.txtLockerID) Then
            Me.subLockerHistory.Form.Requery
        End If
    End Sub
    
  • 用户输入储物柜编号后,子表单会自动加载对应租赁历史,无需额外操作。

4. 优化用户体验

  • 给文本框添加输入提示(比如设置「占位符文本」为「请输入储物柜编号」);
  • 给历史显示表单添加格式美化(比如交替行颜色、冻结表头),让记录更易读。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 11:47:16