[MS Access]根据在数据表表单中选择的记录在 OpenForm 上设置组合框

[MS Access]Set Combobox on OpenForm based on what record is selected in datasheet form

这是数据sheet形式

在组合框中,我根据员工 ID 设置值

截至目前,我查看了 .CurrentRecord,但 returns 行号不是 ID。 我可以成功地将 .CurrentRecord 值传递给表单并将其设置为 ComboBox 问题是行数不一定等于员工 ID

我想要的是用户能够 select 在作为雇员的 sheet 上记录,当用户按下“培训”按钮时,它会显示带有组合框集的第二种形式到该员工 ID。

记录值,这样点击按钮时不会丢失定时器事件,计时设置为500

Private Sub Form_Timer()
    value = Me.EID.value
End Sub

我使用 DoCmd.OpenForm 最后一个参数传递了值。

Private Sub trainings_Click()
    On Error GoTo trainings_Click_Err

    ' _AXL:<?xml version="1.0" encoding="UTF-16" standalone="no"?>
    ' <UserInterfaceMacro For="show_trainings" xmlns="http://schemas.microsoft.com/office/accessservices/2009/11/application"><Statements><Action Name="OpenForm"><Argument Name="FormName">Employee
    ' _AXL:Trainings</Argument><Argument Name="WhereCondition">="[ATTUID]="  &amp;"'" &amp;[ATTUID] &amp; "'"</Argument></Action></Statements></UserInterfaceMacro>
    DoCmd.OpenForm "Add Training", acNormal, "", "", , acNormal, value


trainings_Click_Exit:
    Exit Sub

trainings_Click_Err:
    MsgBox Error$
    Resume trainings_Click_Exit

End Sub

最后,我阅读了参数并设置了组合框值,对于相关的列表框,我调用了重新查询

Private Sub Form_Open(Cancel As Integer)
    If Not IsNull(Me.OpenArgs) Then
        Me.cboEmp = Me.OpenArgs
        Me.List14.Requery
        Me.List18.Requery
    End If
End Sub