簡體   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