Siz Where kontrolünü
Or ile yapmaya çalışmışsınız, ben bu tür çoklu kontrollerde daha uygun olan In ile yapmayı tercih ettim.
Kod:
Private Sub Liste0_AfterUpdate()
Dim v, Id, Kriter
'EĞER LİSTE BOŞSA
If Me.Liste0.ItemsSelected.Count = 0 Then
Liste2.RowSource = ""
MsgBox "LÜTFEN LİSTEDEN SEÇİM YAPIN", vbExclamation, "DİKKAT"
Exit Sub
End If
'LİSTE KUTUSUNDAN KRİTER EKLEME
Kriter = ""
For Each v In Liste0.ItemsSelected
Id = Liste0.Column(0, v)
If Kriter = "" Then Kriter = Kriter & "(" Else Kriter = Kriter & ","
Kriter = Kriter & Id
Next v
Kriter = Kriter & ")"
Liste2.RowSource = "SELECT tedavikod, hastakod, tedavi FROM tedavi WHERE hastakod in " & Kriter & ";"
Liste2.Requery
End Sub