2017-09-26 51 views
0

我试图让用户从列表框中选择员工,然后按下一个命令按钮,该按钮将在WHERE语句中运行包含选定员工(修剪者)的查询。使用列表框中的选择创建SQL SELECT语句的标准

我试过这个使用循环,将选定的列表项添加到我打算在我的SQL WHERE语句中使用的字符串变量。每次通过列表选择循环时,我都会在变量中添加“或类似”。我的问题是我不希望第一个项目在它前面有“或”。我想要第一个项目返回“Like TrimmerName1”,其余项目返回“或像TrimmerName2”等

也许有一个完全不同的方法,会更好。我不确定。我对VBA很新,这是我第二次在这里发布。任何帮助表示赞赏!

这里是我的代码:

Dim varTrimmers As Variant 
Dim varTrimmer As String 
Dim VCriteria As String 

For Each varTrimmers In Me.lstTrimmers.ItemsSelected 
varTrimmer = Me.lstTrimmers.ItemData(varTrimmers) 


VCriteria = VCriteria & " or like " & "'" & varTrimmer & "'" 

Next varTrimmers 
+0

权。这很好。 – MaryJane

+0

很高兴听到。请记住接受答案,以便问题不会打开。 – braX

回答

0

当它完成循环,去除前4个字符。

Dim varTrimmers As Variant 
Dim varTrimmer As String 
Dim VCriteria As String 

For Each varTrimmers In Me.lstTrimmers.ItemsSelected 
    varTrimmer = Me.lstTrimmers.ItemData(varTrimmers) 
    VCriteria = VCriteria & " or like " & "'" & varTrimmer & "'" 
Next varTrimmers 
VCriteria = Mid$(VCriteria, 4, Len(VCriteria)) 
0
Dim varTrimmers As Variant 
Dim varTrimmer As String 
Dim VCriteria As String 

For Each varTrimmers In Me.lstTrimmers.ItemsSelected 
varTrimmer = Me.lstTrimmers.ItemData(varTrimmers) 


VCriteria = VCriteria & " or like " & "'" & varTrimmer & "'" 

Next varTrimmers 

VCriteria = Right([VCriteria], Len([VCriteria]) - 4) 
上亲密