我有一個資料輸入表單,其中兩個欄位包含在主表單的子表單中。我們正在使用條形碼掃描儀輸入資料。這些條碼基本上在每次掃描后按 Enter 鍵,但有時我們的條碼會損壞,并且在掃描時有時會添加隨機的特殊字符。當有人掃描“零件編號”欄位中包含以下任何字符( 、#、%、=)的條碼時,我會彈出一個訊息框,提醒掃描條碼未正確讀取的人。訊息彈出后,我想重新關注“零件編號”欄位,以便他們可以重新掃描條形碼或手動輸入資料(如果條形碼一直有問題),而不必單擊回傳該欄位,洗掉錯誤的資料,然后重新輸入資料。我的代碼如下:
Private Sub Part_Number_LostFocus()
Dim RegEx As Object, MyString As String, Answer As Integer
Set RegEx = CreateObject("VBScript.RegExp")
MyString = [Forms]![frmInventoryCountEntry]![tblInventoryCount subform].Form![Part Number]
With RegEx
.Pattern = "[ #%=] "
End With
If RegEx.Test(MyString) = True Then
MsgBox "Part Number Contains Invalid Character", vbOKOnly
DoCmd.GoToControl "tblInventoryCount subform"
DoCmd.GoToControl "Part Number"
我也試過設定焦點,無論游標總是轉到下一個欄位,而不是重新聚焦在“零件編號”欄位上。我確定解決方案很簡單,但我嘗試了很多不同的方法,但我開始感到沮喪:(有人可以幫我嗎?順便說一句,我正在使用 access 2003
uj5u.com熱心網友回復:
你試過.SetFocus嗎?
您還可以考慮使用 Before Update 事件,然后在字串包含這些符號時取消。這樣,焦點永遠不會離開零件編號控制元件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/314234.html
標籤:ms-access
