【发布时间】:2019-05-20 10:22:46
【问题描述】:
我有一个表单来执行查询。有一个搜索栏可以从您可以选择的本地表中搜索项目(供应商),并且最终结果将基于该表。
我有以下物品:
- 文本框“txt_Vendor_Search”(“搜索栏”)
- 按钮“bt_vendor_search”(执行搜索的按钮)
- ListBox "ltVendorSearchResults"(搜索结果应该显示在这里)
- 表“dfoSelectedVendors”(所有供应商都保存在这里)
我有一个显示搜索结果的按钮。
Private Sub bt_vendor_search_Click()
Dim strSearchSQL As String
strSearchSQL = "SELECT Vendor, [Vendor Name] FROM vend_data WHERE " & _
"Len(vend_data.Vendor) = 6 And ([Vendor Name] LIKE '*" & Me.txt_Vendor_Search & _
"*' OR Vendor LIKE ""*" & Me.txt_Vendor_Search & "*"")"
'Update the Row Source of the ListBox
Me.ltVendorSearchResults.RowSource = strSearchSQL
Me.ltVendorSearchResults.Requery
End Sub
为了实现实时搜索,我选择了 TextBox 的 KeyPress 事件:
Private Sub txt_Vendor_Search_KeyPress(KeyAscii As Integer)
bt_vendor_search_Click
End Sub
使用调试器,我发现每次键入内容时都会触发 KeyPress 事件。 TextBox 的 AfterUpdate 事件也执行按钮的过程。
这不是很重要,因为我可以按下按钮或 Enter,但它会是我表单的一个花哨的补充。
【问题讨论】: