繁体   English   中英

基于 Combobox Access 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM