这是我的问题:
我正在使用MS Access 2010。我有一个表格,其中有一个列表框,用于保存员工姓名和员工ID,下面有两个命令按钮。一个按钮显示我的所有员工。另一个打开具有筛选条件的模态表单。在这个模型表单中,我有另一个具有不同人力资源类别的列表框(启用了多选)。
我试图做的是:打开我的模式表单,在列表框中选择一个或多个人力资源类别,单击命令按钮,然后关闭模式表单,并根据我选择的某些标准更新员工列表框。
提前感谢您的帮助。这让我有点抓狂:-)
下面是我更新的代码。
Private Sub cmd_ExecuteEmpFilter_Click()
Dim varItem As String
Dim i As Variant
Dim strSql As String
'Building the criteria string from selected items in the list box
varItem = ""
For Each i In Me!lst_HRFilter.ItemsSelected
If varItem <> "" Then
varItem = varItem & " , "
End If
varItem = varItem & Me!lst_HRFilter.ItemData(i) & ""
Next i
'Filter the form using selected items inside the list box
txt_HRCat = varItem
strSql = "SELECT DISTINCT q.LastName, q.FirstName, q.EmployeeID " & _
"FROM qry_MasterEmployeeFilter As q " & _
"WHERE q.HomeTeamID=" & Me.txt_TeamID2 & _
"AND q.ReportingGroupID IN (" & varItem & ") " & _
"ORDER BY q.[LastName], q.[FirstName], q.[EmployeeID];"
Debug.Print strSql
Forms!frm_Employee_Updater.lst_AllEmps.RowSource = strSql
DoCmd.Close acForm, "frm_EmployeeFilter", acSaveYes
End Sub
更改主窗体的记录源后,需要重新查询主窗体。
Forms!frm_Employee_Updater.lst_AllEmps.Requery