防止迁移到下一个记录时打进来的?
-
23-08-2019 - |
题
我有一个表在2003年访问只应作有一个单独的记录。我可以设置 Cycle
酒店来 Current Record
, 但形式仍然跳到下一个记录,当我按下输入。我首先想到的是一个 KeyPreview
酒店,但是我看不到一个。我的其他认为是可能的 KeyPress
或 KeyUp
事件,但我想我会要求在情况下的意外后果。任何想法?
解决方案
循环特性只影响TAB键。
要控制Enter键,这是一个全球性质的行为。
转到工具/选项 - 键盘选项卡和“移动输入后”,选择“下一个字段”
有,你可以用它来捕获回车键太多按键响应和事件的KeyDown但是这更多的工作。
其他提示
这也可以在VBA进行。
Application.GetOption "Move After Enter" 'get current setting
Application.SetOption "Move After Enter", 0 'don't move
Application.SetOption "Move After Enter", 1 'Next Field
Application.SetOption "Move After Enter", 2 'Next Record
HTTP://www.pcreview。 co.uk/forums/enter-key-moving-next-field-t3454281.html
那一刻键喜欢 卡, Alt, 上一篇, 下一页, 输入 被压在末尾添加记录(在最后的领域大部分),该数据库自动保存所有的信息输入的形式和清除的领域,这样就可以进入下一个价值。所以会发生什么情况是,数据保存的形式,看起来是空的。
3的事情要做到:
- 形成周期性设定为目前的记录。
- 形成关键的预览的财产设定为"是"。
添加以下代码表示事件的形式:
'33 - PgUp; 34 - PgDown; 9 - Tab; 18=Alt; 13=Enter Select Case KeyCode Case 33, 34, 18, 9, 13 KeyCode = 0 Case Else 'Debug.Print KeyCode, Shift End Select
我发现这个的话精练的网络并不取信贷/职责的代码但我不知道我在哪里找到它。为我工作!
循环特性仅适用于Tab键。
有两种选择,你可以追求的。
您可以在陷阱中的KeyDown / KEYUP /的keyPressed点击回车键 - 或 - 点击 您可以在数据源过滤出你希望他们编辑的一个记录,并禁止通过表单添加新记录。
您可以在下面的代码添加到您的形式“更新前”事件。如果想使用移动到下一个记录,它会要求用户保存并关闭表单才可以移动到另一个recorde。
Private Sub Form_BeforeUpdate(Cancel As Integer)
Select Case MsgBox("Save?", vbYesNo)
Case vbYes
DoCmd.Close
Case vbNo
Cancel = True
End Select
End Sub
如果你进入访问选项的文件页面上,转到客户端设置和第一设置会让你选择在哪里你的焦点变化,当你按进入。至少在访问2013。