有什麼方法可以像在Excel中一樣清除鍵盤上的文本框。清除鍵盤上的文本框
我試過下面的代碼,但是它在點擊文本框時清除了文本。我希望它在按某個鍵時清除它。
Private Sub Text10_GotFocus()
Text10.Value = ""
End Sub
有什麼方法可以像在Excel中一樣清除鍵盤上的文本框。清除鍵盤上的文本框
我試過下面的代碼,但是它在點擊文本框時清除了文本。我希望它在按某個鍵時清除它。
Private Sub Text10_GotFocus()
Text10.Value = ""
End Sub
每當控件獲得焦點時,可以選擇控制的全部文本內容的ASCII值。然後您的按鍵將替換選定的文本。
如果您希望每個表單上的每個文本框都發生這種情況,您可以將「行爲輸入字段」設置設置爲「選擇整個字段」。 (在Access 2007中,從Office按鈕 - >訪問選項 - >高級找到該設置,然後查看該對話框的編輯標題下的內容。對於Access 2003,請參閱this page。)
該設置不僅適用於表單控制,還可以查看數據表視圖中的表格和查詢。如果這不是你想要的,你可以使用VBA窗體的模塊中選擇文本,只爲特定的控制:
Private Sub MyTextBox_GotFocus()
Me.MyTextBox.SelStart = 0
Me.MyTextBox.SelLength = Len(Me.MyTextBox)
End Sub
如果你想這樣做,對於多個控件,你可以創建一個一般程序:
Private Sub SelectWholeField()
Me.ActiveControl.SelStart = 0
Me.ActiveControl.SelLength = Len(Me.ActiveControl)
End Sub
然後調用該程序從一個單獨的控制這樣的得到焦點事件:
Private Sub MyTextBox_GotFocus()
SelectWholeField
End Sub
Private Sub Field1_KeyPress(KeyAscii As Integer)
If KeyAscii = 65 Then Me.Field1 = ""
'Or: If Chr(KeyAscii) = "A" Then Me.Field1 = ""
End Sub
變化數到任何關鍵你是想用它來清除該字段
聲明一個表格等級變量
Private CanDelete as Boolean
當文本框獲得焦點,CanDelete設置爲True
Private Sub txtTest_GotFocus()
CanDelete = True
End Sub
在KeyPress事件,清除文本,如果CanDelete是真
Private Sub txtTest_KeyPress(KeyAscii As Integer)
If CanDelete Then
Me.txtTest = ""
CanDelete = False
End If
End Sub
的
可能重複[如何清除文本框裏面的宏?](http://stackoverflow.com/questions/9588096/how-to-clear-text-box-inside-a-macro) – Fionnuala
功能應該像excel。在Excel中輸入數字,然後點擊其他地方。當你再次點擊同一個文本框並按下某個鍵時,它將被刪除。我想要實現相同的功能。 – Ish