【发布时间】:2016-07-15 08:30:50
【问题描述】:
如果我有错误的术语,我们深表歉意。我正在尝试构建一个表单,用户从下拉列表中选择字段,然后在文本框中输入搜索文本。然后表单应在表中搜索与组合框中指定的字段中的文本匹配的记录。
但是我目前拥有的东西不起作用。我知道错误在哪里,但无法修复。
目前的代码是:
Private Sub btn_Search_Click()
Dim strSearchTerm As String
Dim strComboField As String
strComboField = Me!cmb_src
strSearchTerm = "SELECT Models.ID, Models.[Model Name], Models.[Model Brand], Models.[Model Category] " _
& "FROM Models " _
& "Where Fields(strComboField) LIKE '*" & Me.txtSearch & "*' " _
& "ORDER BY Models.[Model Name]; "
Me.sub_ModelList.Form.RecordSource = strSearchTerm
Me.sub_ModelList.Form.Requery
结束子
我相信错误就在这条线上
& "Where Fields(strComboField) LIKE '*" & Me.txtSearch & "*' " _
将 Fields(strComboField) 替换为字段名称 [Model Name] 即可解决问题。
非常感谢任何帮助
谢谢
【问题讨论】:
-
试试
& "Where Fields " & strComboField & " LIKE '*" & Me.txtSearch & "*' " _。但是,我不确定这是您唯一的错误,strComboField是否获取值,这不是从组合框或列表框读取的方式 -
谢谢你,那没用,但正如你所说,可能是因为我从组合框中读取的方式不正确。我会看看我能不能解决这个问题。给我的错误是(在查询表达式“字段模型名称 LIKE 'joystick”中缺少 operator0。
-
当您使用 F8 运行代码时,
strComboField是否从用户表单组合框中正确读取值?它是组合框、列表框还是文本? -
它是一个组合框,是的,它似乎正确读取了组合框的值并将变量设置为该值
-
试试
& "Where Fields [" & strComboField & "] LIKE '*" & Me.txtSearch & "*' ""_