title: Referencing ListBox multiselect values in sql statement
body: <p>I would like to open a recordset using matching values within a column of a multiselect listbox. At the moment my code only opens and edits the last record of the selection and I would like it to open all of them. Here is my code:-</p>
  
  <pre><code> Set oRSAppt = Application.CurrentDb().OpenRecordset("Select * FROM [Appointments] WHERE [SlotID] =" &amp; ListBox.Column(7, ListBox.ItemsSelected))
  With oRSAppt
      If .BOF = True And .EOF = True Then
          MsgBox "No records found", , "Failed"
          Exit Sub
      Else
      .MoveFirst
      Do While Not .EOF
      .Edit
      .Fields("Status").Value = "Invoiced"
      .Fields("InvoiceID").Value = vInvoiceID
      .Update
      .MoveNext
      Loop
      .Close
      End If
  End With
  </code></pre>
  
  <p>This link suggests a for loop to get the selected values from the listbox
  <a href="http://msdn.microsoft.com/en-us/library/office/ff823015%28v=office.15%29.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/office/ff823015%28v=office.15%29.aspx</a>
  but I am not sure how to do this within the sql statement or whether I should even go about it this way - and maybe I've just been looking at this for so long I've missed an obvious solution. Any help would be appreciated.</p>