如何在textBox.Setfocus中使用Access VBA选择TextBox中的所有文本

时间:2014-12-18 23:25:54

标签: vba access-vba

当我单击(或双击)它时,我需要选择Access窗体的文本框中的所有文本。我尝试了以下代码,但未成功:

Me.txt_CompraPreco.SelStart = 0
Me.txt_CompraPreco.SelLength = Len(Me.txt_CompraPreco)

提前感谢。

4 个答案:

答案 0 :(得分:3)

您可以使用下面显示的代码。如果它不起作用,请在第一行代码处放置一个断点。如果它没有在您的断点处停止,那么您的事件将无法识别。

Option Compare Database
Option Explicit

Private Sub txt_CompraPreco_Click()
    If Len(Me.txt_CompraPreco & "") = 0 Then Exit Sub
    Me.txt_CompraPreco.SelStart = 0
    Me.txt_CompraPreco.SelLength = Len(Me.txt_CompraPreco)
End Sub

答案 1 :(得分:2)

我正在寻找关于这个问题的解决方案,我有同样的问题,但是,我有一个解决方案,我不确定它是否有效,但这是我的代码:

'Declare a flag
Public flagDblClick As Boolean

'Double click event
Private Sub txtbox_DblClick (Cancel As Integer)
  flagDblClick = True
End Sub

'Mouse up Event
Private Sub txtbox_MouseUp(Button As Integer, Shift As Integer, X as Single, Y as Single)
  If flagDblClick Then
    flagDblClick = False
    txtBox.SelStart = 0
    txtBox.SelLength = Len(txtBox.Value)
  End If
End Sub

答案 2 :(得分:0)

此代码将解决您的问题(与userform一起使用)。

txt_CompraPreco.SetFocus
Me.txt_CompraPreco.SelStart = 0
Me.txt_CompraPreco.SelLength = Len(Me.txt_CompraPreco)

答案 3 :(得分:0)

我的反复试验发现了这一点。 如果您的文本字段格式设置为“标准数字”,并且您已将小数位设置为一定的长度,则输入一位数字时会遇到麻烦。例如,如果将字段属性中的小数位设置为2,然后输入“ 1”,则将显示“ 1.00”。要选择整个字段(1.00),必须在确定.SelLength时指定.Text属性(不是默认的.Value属性)

Me.txtYourFieldname_GotFocus
  Me.txtYourFieldName.SelStart = 0
  Me.txtYourFieldName.SelLength = Len(Me.txtYourFieldName.Text)
End Sub