【发布时间】:2021-08-06 23:46:58
【问题描述】:
我试图弄清楚为什么以下代码不会从 [Card Lookup 1]、2 或 3 返回任何内容。 我知道一些非常基本的 SQL,几乎没有 VBA。感谢您的帮助。
Private Sub btnSearch_Click()
Dim SQL As String
SQL = "SELECT [Master List].[First Name], [Master List].[Last Name], [Master List].[Card Lookup 1], [Master List].[Card Lookup 2], [Master List].[Card Lookup 3], [Master List].ID " _
& "FROM [Master List]" _
& "WHERE [First Name] LIKE '*" & Me.txtkeywords & "*' " _
& "OR [Last Name] LIKE '*" & Me.txtkeywords & "*' " _
& "OR [Card Lookup 1] LIKE '*" & Me.txtkeywords & "*' " _
& "OR [Card Lookup 2] LIKE '*" & Me.txtkeywords & "*' " _
& "OR [Card Lookup 3] LIKE '*" & Me.txtkeywords & "*' " _
& "OR ID LIKE '*" & Me.txtkeywords & "*' " _
& "ORDER BY [Master List].[Last Name] "
Me.subUserSearch.Form.RecordSource = SQL
Me.subUserSearch.Form.Requery
End Sub
[First Name] = Short Text
[Last Name] = Short Text
[Card Lookup 1] = Number
[Card Lookup 2] = Number
[Card Lookup 3] = Number
[ID] = AutoNumber
预期:用户输入与卡关联的姓名或号码 根据输入的姓名或号码返回匹配项。在原始代码中,它返回除 Card Lookup 1、2 或 3 之外的所有字段。更改通配符后,它无法返回任何数据。
Card Lookup 1,2 和,3 被分配了 ID 卡号。
【问题讨论】:
-
请提供minimal reproducible example的Card Lookups样本数据和
Me.txtkeywords中使用的值。 -
“问题”字段是数字吗? stackoverflow.com/questions/1108171/…
& "OR [Card Lookup 1] & '' LIKE '*" & Me.txtkeywords & "*' " _ -
@TimWilliams 是的,它们是数字。
标签: sql vba ms-access-2013