Ms access VBA-多字段下拉框搜索查询
我有一个下拉复选框,您可以在其中手动选择要查询的不同选项 我想做什么: 我想制作一个搜索查询表单,允许用户从下拉列表中选择多个信息。之后,我解析主表中的一个特定列以获取此信息 问题: 我有一个下拉多字段组合列表,允许用户选择多个选项进行搜索。图像应该更好地展示它: 我不知道如何使技术字段在我的SQL查询中工作 查询: Technology保存用户在表单中选择的字符串。也就是说,在上面提供的图像中,字符串将是“Console、PC、Web” 技术是一个包含所有选项的列表Ms access VBA-多字段下拉框搜索查询,ms-access,vba,Ms Access,Vba,我有一个下拉复选框,您可以在其中手动选择要查询的不同选项 我想做什么: 我想制作一个搜索查询表单,允许用户从下拉列表中选择多个信息。之后,我解析主表中的一个特定列以获取此信息 问题: 我有一个下拉多字段组合列表,允许用户选择多个选项进行搜索。图像应该更好地展示它: 我不知道如何使技术字段在我的SQL查询中工作 查询: Technology保存用户在表单中选择的字符串。也就是说,在上面提供的图像中,字符串将是“Console、PC、Web” 技术是一个包含所有选项的列表 Private Sub
Private Sub button_Click()
Dim SQLAll As String
Dim SQL As String
Dim Sector As String
Sector = Me.txtSector
If Sector = "All" Then
Sector = " "
End If
SQL = "SELECT * " _
& "FROM EveryTable " _
& "WHERE EveryTable.Sector LIKE '*" & Sector & "*' " _
& "AND EveryTable.Technology.Value LIKE '*" & Me.Technology & "*' "
Me.subformMain.Form.RecordSource = SQL
Me.subformMain.Requery
End Sub
下图显示了包含所有信息的主表。提供我在查询中试图引用的单元格中所包含内容的概念
预期产出
根据我提供的图像,预期的输出将以每行的主形式为我提供一个子表单,其中“技术”列包含字符串“Console、PC、Web”。
如下图所示,在按下Enter按钮后,我的预期输出没有返回到我想要的结果
某位伟大的人物,用户“Tim Williams”回答了我的问题,但删除了他的答案。无论如何,这里是供将来参考的
Private Sub button_Click()
Dim SQL As String, sep As String, arr, t
Dim Sector As String
Sector = Me.txtSector
If Sector = "All" Then Sector = ""
SQL = "SELECT * FROM EveryTable WHERE " & _
"EveryTable.Sector LIKE '*" & Sector & "*'"
If Len(Me.Technology) > 0 Then
SQL = SQL & " AND ("
sep = ""
arr = Split(Me.Technology, ",")
For Each t In arr
SQL = SQL & sep & " EveryTable.Technology.Value LIKE '*" & Trim(t) & "*' "
sep = vbCrLf & " AND "
Next t
SQL = SQL & ")"
End If
Debug.Print SQL
Me.subformMain.Form.RecordSource = SQL
Me.subformMain.Requery
End Sub
欢迎光临!我不明白你在问什么,这张照片也帮不了什么忙。请您花几分钟时间详细介绍一下您拥有的(例如,样本数据)、您需要做的(例如,预期输出的样本)以及您尝试过的内容。我不知道你数据库的结构,但是
EveryTable.Technology.Value
似乎不是引用字段的有效方法。另外,请参阅“”,以及创建ie的提示(裁剪图像中不需要的部分),以及向网站顶级用户提问的提示。谢谢。现在更容易理解了吗?我希望这些图片清楚地显示出我想要它做什么