2013-12-16 38 views
0

我有一個帶有文本框的訪問表單,用戶可以使用列表框進行更新或直接進行編輯,如果用戶開始刪除,我需要執行一個操作從這個文本框,只有當他開始,如果他開始添加數據沒有問題,從它刪除,這樣的:如果用戶開始從文本框中刪除數據,請執行操作

Private Sub textbox_AfterUpdate() 

    If Me.[textbox].SelStart = Len(Me.[textbox].Text) - 1 Then 

    ' do something 
    else 

    ' do something else 

    End If 


End Sub 

回答

2

您可能需要使用KeyDown事件,而不是AfterUpdate

這捕獲退格刪除按鈕。

Private Sub Text0_KeyDown(KeyCode As Integer, Shift As Integer) 
    If KeyCode = 8 Or KeyCode = 46 Then 
     MsgBox "Text was deleted" 
    End If 
End Sub 

也有其他的場景中的文本例如按Ctrl + X這樣你就可以捕獲所有已刪除。

+0

謝謝你,好主意 – user1921704

1

您可能想要考慮更改事件,文本屬性是當前未保存的具有焦點的控件內容,value屬性是具有焦點的控件的已保存內容。

更改的優點是用戶不能簡單地將字母插入現有的字符串,例如,用戶不能將20米更改爲200米。

Private Sub AText_Change() 
''If the current content is the same as the 
''previous content with something added 
If Me.AText.Text Like Me.AText.Value & "*" Then 
    ''Ok 
Else 
    ''Problem 
    MsgBox "Not allowed" 
    Me.AText = Me.AText.Value 
End If 
End Sub 

您還可以允許保存的內容成爲當前內容的子字符串。

相關問題