【发布时间】:2018-11-26 07:36:43
【问题描述】:
我刚刚在工作中继承了一个几年未动过的人事数据库,他们希望我让它发挥作用。我已经能够更新大部分内容,但我遇到了使用 SendKeys 操作输入的宏的问题:
Private Sub Command3_Click()
On Error GoTo Err_Command3_Click
DoCmd.OpenTable "tblEmployees", acNormal, acEdit
DoCmd.GoToControl [employee]
DoCmd.FindRecord Forms![EmployeeRemoval]![cboEmpSelect],
DoCmd.GoToControl [pastemployee]
SendKeys "1~", True
DoCmd.Close acTable, "tblEmployees"
Exit_Command3_Click:
Exit Sub
Err_Command3_Click:
MsgBox Err.Description
Resume Exit_Command3_Click
此时使用 Access 2010,它只是将程序发送到一个循环中,打开和关闭表格,同时打开和关闭 Num Lock。我认为最好的替代方法是 Update 语句,但不确定更新需要更新的单个单元格的 Where 标准是什么(在这种情况下,在任何给定时间只有一个有问题的员工的 PastEmployee 单元格需要更新为 True 而不是 False)。在宏中,它引用(通过 FindRecord 命令)一个 ComboBox,其中选择了从员工表中查询姓氏、名字和员工编号的员工。
db.Execute Update tblEmployees Set [PastEmployee] = 1 Where XXXXXXXX
在使 SendKeys 命令正常工作或使更新语句正常工作方面的任何帮助都会有所帮助。
【问题讨论】:
-
这是什么意思?狡猾的错误处理程序是否引入了问题?