当我单击(或双击)它时,我需要选择Access窗体的文本框中的所有文本。我尝试了以下代码,但未成功:
Me.txt_CompraPreco.SelStart = 0
Me.txt_CompraPreco.SelLength = Len(Me.txt_CompraPreco)
提前致谢。
您可以使用下面显示的代码。如果它不起作用,请在第一行代码处放置一个断点。如果它没有在您的断点处停止,那么您的事件将无法识别。
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
我正在寻找关于这个问题的解决方案,我有同样的问题,但是,我有一个解决方案,我不确定它是否有效,但这是我的代码:
'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
此代码将解决您的问题(与userform一起使用)。
txt_CompraPreco.SetFocus
Me.txt_CompraPreco.SelStart = 0
Me.txt_CompraPreco.SelLength = Len(Me.txt_CompraPreco)
我的反复试验发现了这一点。如果您的文本字段被格式化为标准数字并且您已将小数位数设置为特定长度,则输入单个数字时将遇到麻烦。例如,如果字段属性中的小数位设置为2并输入“1”,则将显示“1.00”。要选择整个字段(1.00),必须在确定.SelLength(而不是默认的.Value属性)时指定.Text属性
Me.txtYourFieldname_GotFocus
Me.txtYourFieldName.SelStart = 0
Me.txtYourFieldName.SelLength = Len(Me.txtYourFieldName.Text)
End Sub