我最终使用了两个列表框,其中包含 1 个添加按钮和 1 个删除按钮,它们触发了执行原始 SQL 的 VBA On Click 方法。
该方法看起来像这样:
If IsNull(cboInEligible.Column(1))
Exit Sub
End If
CurrentDB.Execute ("INSERT INTO tblEmpExam (ExamID, EmpID) " & _
"VALUES (" & ExamID & ", " & lstInEligible.Column(1) & ")")
lstInEligible.Requery
lstEligible.Requery
删除查询类似地完成。
这两个列表框是互斥的。
SELECT EmpID, EmpName
FROM Employee
WHERE EmpID NOT IN (SELECT EmpID FROM tblEmpExam WHERE ExamID = [txtExamID]);
txtExamID 是表单上的隐藏(但对设计者来说很明显)控件,因为除了通过控件或绝对命名之外,我无法引用表单的 ExamID。
另一个列表框具有EmpID IN
而不是EmpID NOT IN
使其独占。