![](/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.