vba - AfterUpdate()事件 - 自动移动到下一个控件

时间:2017-07-24 12:42:32

标签: vba ms-access events

我有以下问题:

在我的表格中,我有三个控件,文本框 - 由条形码扫描仪填充。控件是:

Textbox1
Textbox2
Textbox3

我希望表单在每个表单都填满内容时自动移动到下一个表单。本着这种精神,     Textbox1 - >有一个26个字符的单位掩码     Textbox2 - >一旦textbox1已满,它就会在这里自动生成。

  • 问题在于:为textbox2读取的条形码被标签和4行长包围,这使得很难为它指定单位掩码。我想让它在某些触发器上自动移动到Textbox3。

我在Textbox2上尝试过AfterUpdate()事件,并在那里使用.setfocus()将焦点重定向到Textbox3,但它不起作用 - 我在网上发现的是,要触发此事件,要么单位掩码需要满足,或最大长度(不是静态的)。

还有其他方法可以解决这个问题吗?我将此代码用于Barcode1:

Private Sub Barcode1_AfterUpdate()
    ' After Update Event - Barcode 1
' Cuts substring and assigns to ValuePrice
'

'MsgBox ("In Barcode1_AfterUpdate")
Me.Barcode2.SetFocus
fld = Barcode1.Value
If (fld = "11111111111111111111111111") Then
    MsgBox ("Special Scenario Triggered")
    Me.Barcode2.SetFocus
Else
    price = Mid(fld, 17, 9)
    ValuePrice.Value = price
End If
End Sub

0 个答案:

没有答案