【发布时间】:2017-10-16 06:15:33
【问题描述】:
想象一个表(tblEmployee)设置如下:
- EmpID(PrimaryKey)
- EmpName(ShortText)
- EmpNo(ShortText)
- EmpPhoto(附件)
在表单上,我希望能够从 Combobox(EmpName) 中选择员工姓名,以便其他控件更新并向我显示所选员工的编号和照片。
我已经制作了一个表格(frmEmployee)并将记录源选择为:
SELECT tblEmployee.* FROM tblEmployee;
并通过“添加现有字段”选项卡将所有字段添加到表单中。然后,我将 textbox(EmpName) 更改为具有两列的组合框,第一列的宽度为零,并将 Row Source 更改为:
SELECT tblEmployee.ID, tblEmployee.EmpName
FROM tblEmployee;
因此用户可以查看和选择任何员工的姓名,而无需处理主键 (EmpID)。 还有combobox(EmpName)的afterUpdate事件是这样的:
Private Sub EmpName_AfterUpdate()
' Find the record that matches the control.
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[ID] = " & Str(Nz(Me![EmpName], 0))
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
这为我提供了我想要的功能,而且每当我从组合框中选择另一个员工姓名时,当前员工的姓名都会更新为新选择的员工的 ID(EmpID)。
如何解决这个问题?还有其他更快更好的方法吗?
【问题讨论】: