Try this- it will concatenate everything the way you want.
You may need to change it so it adds double quotes instead of single quotes.
[vba]
Dim litem As Long
Dim strWhere As String
Dim i As Integer
i = 1
For litem = 0 To Me.ListTest.ListCount - 1
If Me.ListTest.Selected(litem) = True Then
if i = 1 Then
strWhere = "company = '" & Me.ListTest.ItemData(litem) & "'"
ElseIf i > 1 Then
strWhere = strWhere & " Or company = '" & Me.ListTest.ItemData(litem) & "'"
End If
i = i + 1
Me.ListTest.Selected(litem) = False
End If
Next
[/vba]
NinjaEdit: I added in a counter variable that has a value of 1 the first time a listbox value is added into the string you're building for your WHERE clause. The reason for this is that the very first time you don't need an 'Or'. This is so you could have a valid SQL string created with only a single listbox choice.
For every other iteration, the 'Or' keyword will be added so that you end up with a valid SQL string.