【问题标题】:Microsoft Access Press Enter to add recordMicrosoft Access 按 Enter 添加记录
【发布时间】:2015-12-30 23:01:38
【问题描述】:

我有一个包含两个字段的表单

  1. 卖家 - (需要手动选择的下拉列表)
  2. 订单 ID - 我将使用条形码扫描仪添加的订单 ID。

由于我需要选择一次卖家并添加大量订单 ID,因此我将卖家字段的“制表位”设置为“否”,这样它就不会一次又一次地在那里进行制表符。

现在我想要的是,因为我已经选择了卖家,所以当我扫描条形码时,数据应该输入数据库,并准备好下一个条目添加同一个卖家选择(未更改)并选择了 Order Id 字段供我再次扫描条形码。

PS:条形码工作 - 它在任何选定的字段中输入文本字符串,然后条形码本身按回车键。因此,如果我可以设置一种方式,在按 Enter 后将数据添加到表格中,这也会很有帮助。

【问题讨论】:

  • 请记住,SO 是一个代码帮助论坛,而不是一个应用程序编写论坛。
  • 嘿,我实际上并没有开发应用程序,它只是 Ms-Access 中的一个表单,我只是想找到一个代码/方式,这样就可以在按下 enter 时提交表单。跨度>

标签: database ms-access vba


【解决方案1】:

由于您的扫描仪生成了Enter,您可以尝试以下操作:

Private Sub OrderId_AfterUpdate()
    Me.Dirty = False                  'save record
    DoCmd.GoToRecord , , acNewRec     'goto new record
End Sub

【讨论】:

  • 新年快乐顺便说一句,它给了我一个错误——您作为事件属性设置输入的 On Change 表达式产生了以下错误:溢出。 * 表达式可能不会导致宏名称、用户定义函数的名称或[事件过程]。 * 评估函数、事件或宏时可能出错。
  • 这是一个引用问题,用谷歌搜索并解决了它,之后你的代码就像一个魅力。
【解决方案2】:

如果这就是您要使用此表单的全部内容,并且我假设这是一个未绑定的表单,那么在表单的按键事件中,您可以这样做:

Private sub Form_keypress(keyascii as integer)

If keyascii = 13 then
   'Run your SQL that inserts data into      'table
End if

End Sub

在您的事件选项卡下,不要忘记将 Key Preview 属性设置为“是”,否则,上述解决方案将不起作用。

【讨论】:

  • 只要在表单中按下Enter,就会触发事件。我认为不理想。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多