![](/img/trans.png)
[英]Enabling and disabling controls on a Continuous Subform in Access 2007/2010
[英]Continuous SubForm Output based on Combobox Access 2010
我正在尝试获取一个连续的子表单,显示 CourseID 和 CourseCompletionDate,以显示与通过主子表单的组合框选择的员工相关的输出(这是一个员工培训档案,显示员工已完成的培训内容)。 这是我的 VBA:
Private Sub cboEmployee_AfterUpdate()
On Error GoTo Proc_Error
If IsNull(Me.cboEmployee) Then
Me.subEmployeeCourseTrainingCompletion.EmployeeProfile.Filter = ""
Me.subEmployeeCourseTrainingCompletion.EmployeeProfile.FilterOn = False
Else
Me.subEmployeeCourseTrainingCompletion.EmployeeProfile.Filter = "[EmployeeID]=" & Me.cboEmployee
Me.subEmployeeCourseTrainingCompletion.EmployeeProfile.FilterOn = True
End If
Proc_Exit: Exit Sub Proc_Error: MsgBox "Error " & Err.Number & " in setting subEmployeeCourseTrainingCompletion filter:" & vbCrLf & Err.Description Resume Proc_Exit End Sub
尝试在主子窗体上使用组合框时遇到的错误。
这让我发疯。 为什么在组合框中切换员工时这不起作用? 我怎样才能使这个 vba 和子表单与组合框完美结合?
因此,除了 pteranodon 所说的内容之外,将员工 ID 添加到查询本身可以解决所有问题。 不再有消息框,组合框与子表单完美配合。
假设:(请更正):
EmployeeProfile
是,你调用一个子窗体形式的名称。 subEmployeeCourseTrainingCompletion
是主窗体中子窗体控件的名称,它的 SourceObject 设置为EmployeeProfile
。
您正在寻找的语法是
Me.subformcontrol.Form.FormProperty 所以Me.subEmployeeCourseTrainingCompletion.Form.Filter = ""
但实际上,通过将子表单控件的 LinkMasterFields 设置为cboEmployee
并将cboEmployee
设置为EmployeeID
,您似乎完全无需代码即可实现此cboEmployee
。 然后您可以决定如何在 Empty Master 上设置过滤器。 选择子模式控制时,所有这些属性都位于属性窗口的“单击”(单击)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.