所以我做了很多质疑,在线观看,在网络上看到我很可能是盲人,但我没有想法。
为了解决我的问题,我有以下内容:
表单中包含“疑难解答”,如下所示
包含在表“解决方案”中我有以下字段
现在是复杂的部分。
“lstSolutions”需要显示“SolutionText”,但是有一个问题。
“cboManfact”和“cboModel”包含存储在单独表格中的制造商和型号的列表,该表格完美无缺。
我需要拥有什么。仅当“cboManfact”文本和“cboModel”文本与解决方案表中的条目匹配时,“lstSolutions”才会显示“SolutionText”。
例如:
单击“db_Search”按钮,“lstSolutions”将填充“SoltionText”的所有结果,其中“ManufacturerSolution”=“cboManfact”和“ModelSolution”=“cboModel”
我目前拥有的SQL查询的问题是,它使用“解决方案”的每个结果填充列表框,但是在单击执行重新查询的“db_search”按钮时,列表框清空,所以我不认为SQL命令确保cbomanfact等匹配。
这就是我现在所拥有的:
lstSolutions recordSource:
SELECT [SolutionText] FROM [Solutions] WHERE solutions.ManufacturerSolution like forms![Troubleshoot]!cboManfact & "*" AND solutions.ModelSolution like forms![Troubleshoot]!cboModel & "*"
db_click代码:
Private Sub dbSearch_Click()
me.lstSolutuions.requery
end sub
如果有人有任何想法,或者有更好的解释方法,那会有所帮助。我已经得到了LiamH的帮助,这是一个独立的主题,但主要帮助我创建了这个主题,以便更清楚地解释这个问题。
我在某种程度上理解现在发生了什么,但我只是没有足够的经验来解决这个问题,并且想要了解人们的建议。
答案 0 :(得分:0)
点击按钮时使用以下代码解决了问题:
Private Sub dbSearch_Click()
Dim ManfactQuery As String
Dim ModelQuery As String
Dim strSQL As String
ManfactQuery = Me.cboManfact.Column(1)
ModelQuery = Me.cboModel.Column(1)
If Nz(ManfactQuery) = "" Then
strSQL = "SELECT [Solutions].SolutionText FROM [Solutions] WHERE [Solutions].ModelSolution = '" & ModelQuery & "'"
Else
If Nz(ModelQuery) = "" Then
strSQL = "SELECT [Solutions].SolutionText FROM [Solutions] WHERE [Solutions].ManufacturerSolution = '" & ManfactQuery & "'"
Else
strSQL = "SELECT [Solutions].SolutionText FROM [Solutions] WHERE [Solutions].ManufacturerSolution = " & ManfactQuery & " AND [Solutions].ModelSolution = " & ModelQuery & ""
End If
End If
Me.lstSolution.RowSource = strSQL
End Sub