【发布时间】:2019-07-09 21:33:31
【问题描述】:
我有一个未绑定的组合框,允许用户选择员工姓名(请求者)。选择该员工后,它会更新下一个框以显示该特定员工的经理姓名(所有者)。
我将 ManagerID 作为查找查询中的绑定列,并且员工的姓名应该在选择时显示在表单中。相反,在用户选择员工后,该框会显示分配给该经理的第一位员工的姓名。例如,我单击组合框,我会看到一个员工列表(该部分显示正确)。我选择了莎莉苏。只要我选择 Sally Sue,框中的文本就会显示 Bob Bath,这是 Sally 的经理在数据库列表中的第一个员工。
这是最大的问题...当我检查此表单更新的表格时,Sally Sue 位于正确的位置。我所有的数据都在正确的位置。唯一错误的是,在用户选择员工后,员工在表单上显示错误。它不会影响我数据的准确性,只是很烦人。
我将绑定列设为 1,但我尝试将其移动到 2 并将列宽设为 0 并将我的员工姓名移动到查询的第一个位置。
这是我的查询显示的 SQL 代码:
SELECT tbl_Owner.Owner_ID,
tbl_Requester.RequesterName,
tbl_Owner.ownerName
AS RequestOwner
FROM tbl_Owner INNER JOIN tbl_Requester ON
tbl_Owner.Owner_ID =
tbl_Requester.RequestOwner
ORDER BY tbl_Requester.RequesterName;
选择员工姓名后,表单应显示所选员工的姓名。相反,它显示的是经理分配的第一个员工姓名。
【问题讨论】:
-
您应该在“更新后事件”中有一个 me.repaint,以便它知道用新数据重新绘制表单。试试看,如果可行,请告诉我。
-
该查询甚至没有显示 ManagerID 和 EmployeeID 字段。该查询与问题有什么关系?如果 BoundColumn 是 ManagerID,那么您将按该值过滤记录,而不是 EmployeeID。因此,您当然会看到与该经理关联的第一条记录。编辑问题以显示应用过滤器的代码。
-
当员工被选中时,您如何以及将什么传递到另一个框?
标签: sql ms-access vba ms-access-2010