【发布时间】:2018-10-19 05:21:37
【问题描述】:
我正在创建一个动态搜索,当用户在文本框中输入时过滤数据列表。
Private Sub TxtSearch_Change()
Dim CursorPosition As Long
Dim strSearch As String
Dim sqlSearch As String
CursorPosition = TxtSearch.SelStart
Me.Dirty = False 'set the dirty property to false to save the current value
strSearch = ""
If Not IsNull(Me.TxtSearch.Value) Then
strSearch = Me.TxtSearch.Value
End If
searchLength = Len(strSearch)
If searchLength < CursorPosition Then
For i = 1 To (CursorPosition- searchLength)
strSearch = strSearch + " "
Next
End If
'Check if a keyword has been entered or not
If strSearch = "" Then
Me.TxtSearch.SetFocus
sqlShowAll = "SELECT * FROM qrySearch"
Forms![frmSearch]!fsubTest.Form.RecordSource = sqlShowAll
Else
sqlSelect = "SELECT * FROM qrySearch WHERE ("
sqlLastName = "(LastName Like ""*" & strSearch & "*"")"
sqlFirstName = " OR (FirstName Like ""*" & strSearch & "*"")"
sqlFullName = " OR (FullName Like ""*" & strSearch & "*"")"
sqlEnd = ")"
sqlAllNames = sqlLastName & sqlFirstName & sqlFullName
sqlSearch = sqlSelect & sqlAllNames & sqlEnd
Forms![frmSearch]!fsubTest.Form.RecordSource = sqlSearch
End If
TxtSearch.SelStart = CursorPosition
End Sub
Access 会截断文本字段中的尾随空格。有没有办法解决这个问题?我已经实现了一个 for 循环来恢复用于搜索的尾随空格,但我想保存尾随空格,以便用户继续输入时空格不会消失。例如,我可以输入“Jane”并搜索“Jane”,但是当返回到文本框时,我会看到“Jane”,所以我永远无法输入“Jane Doe”而只能输入“JaneDoe”。
【问题讨论】:
标签: ms-access vba ms-access-2016