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

如何设置Access表单实现单样本多测试方法不同运行次数的录入与存储?

测试申请表单改造方案

1. 表单控件调整

  • 保留原有的绑定测试方法表的下拉框,新增两个文本框:txtRunCount(输入运行次数)、txtSampleValue(输入样本值),默认设为隐藏状态,放置在下拉框旁。
  • 添加一个临时预览列表(用Access连续子表单或列表框均可),实时展示用户已确认的「测试方法-运行次数-样本值」组合,方便查看和直接编辑。

2. 下拉框触发规则

给方法下拉框添加AfterUpdate事件代码,选完方法自动唤起输入框:

Private Sub cboTestMethod_AfterUpdate()
    ' 显示运行次数和样本值输入框
    txtRunCount.Visible = True
    txtSampleValue.Visible = True
    ' 自动聚焦到运行次数输入框,引导用户输入
    txtRunCount.SetFocus
End Sub

3. 新增临时记录操作

添加「添加到待提交列表」按钮,点击后将当前选择的方法、输入的次数和样本值存入预览列表:

Private Sub btnAddToList_Click()
    Dim rs As Recordset
    Set rs = Me.subTempList.Form.RecordsetClone
    
    ' 可选:防止重复添加同一方法
    rs.FindFirst "TestMethod = '" & Me.cboTestMethod.Value & "'"
    If rs.NoMatch Then
        rs.AddNew
        rs!TestMethod = Me.cboTestMethod.Value
        rs!RunCount = Me.txtRunCount.Value
        rs!SampleValue = Me.txtSampleValue.Value
        rs.Update
    Else
        MsgBox "这个方法已经添加过了,要修改直接在列表里编辑即可", vbExclamation
    End If
    
    ' 刷新预览列表
    Me.subTempList.Requery
    ' 清空当前输入框并隐藏
    Me.cboTestMethod.Value = Null
    Me.txtRunCount.Value = Null
    Me.txtSampleValue.Value = Null
    txtRunCount.Visible = False
    txtSampleValue.Visible = False
End Sub

4. 提交按钮逻辑改造

修改原提交按钮代码,将预览列表中的每条记录单独写入目标数据表:

Private Sub btnSubmit_Click()
    Dim rsTarget As Recordset
    Dim rsTemp As Recordset
    
    Set rsTarget = CurrentDb.OpenRecordset("你的目标数据表名称")
    Set rsTemp = Me.subTempList.Form.RecordsetClone
    
    ' 逐条写入目标表
    rsTemp.MoveFirst
    Do Until rsTemp.EOF
        rsTarget.AddNew
        ' LabBatchID为自动编号,无需手动赋值,数据库会自动生成
        rsTarget!TestMethod = rsTemp!TestMethod
        rsTarget!RunCount = rsTemp!RunCount
        rsTarget!SampleValue = rsTemp!SampleValue
        rsTarget!客户信息字段 = Me.对应控件.Value ' 同步表单上其他必填字段
        rsTarget.Update
        
        rsTemp.MoveNext
    Loop
    
    ' 清理资源
    rsTarget.Close
    rsTemp.Close
    Set rsTarget = Nothing
    Set rsTemp = Nothing
    
    ' 清空表单和预览列表
    Me.subTempList.Form.Recordset.Delete
    Me.subTempList.Requery
    ' 清空主表单其他控件
    Me.对应控件.Value = Null
    MsgBox "提交成功", vbInformation
End Sub

5. 删除按钮逻辑

保留原有功能,一键清空所有内容:

Private Sub btnDelete_Click()
    ' 清空预览列表
    Me.subTempList.Form.Recordset.Delete
    Me.subTempList.Requery
    ' 清空主表单所有控件
    Me.cboTestMethod.Value = Null
    Me.txtRunCount.Value = Null
    Me.txtSampleValue.Value = Null
    Me.对应控件.Value = Null
    txtRunCount.Visible = False
    txtSampleValue.Visible = False
End Sub

注意事项

  • 预览列表的数据源可提前创建临时表(字段设为TestMethod、RunCount、SampleValue),或使用内存记录集临时存储,无需持久化。
  • 原方法下拉框绑定的测试方法表无需修改,确保用户只能选择可用的测试方法。
  • LabBatchID为自动编号字段,表单上可将其设置为不可编辑或直接隐藏,无需用户操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 07:53:41