I think I'm deleting my Rows in a Complete Terrible Way. First I get the INDEX of the Selected Item (List Box, or COMBO then I usally add 1 to it to even it out to the Auto Increment that my Database Column Has. But See the Problem is, Say I have 5 Items

2
5
1
6
4

I want to Delete 1 and 6

That would be Index 3 and 4 & Auto Increment 3 and 4

But when I go and try and Delete 4 Now, it their is No AutoIncrement 3 so it just debuggs

Heres my Code: what would be a much better way of doing it? I was told to use a Value that would never be changed (CIndex [AutoIncrement Value]) but now how would I get that value :P

vb Code:
  1. Public Sub DeleteEvent()
  2.         With frmEvents
  3.             Connection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DatabaseName)
  4.             Connection.Open()
  5.             Adapter.DeleteCommand = New OleDbCommand("DELETE FROM Events WHERE CIndex = @CIndex")
  6.             Adapter.DeleteCommand.Connection = Connection
  7.             Adapter.DeleteCommand.Parameters.AddWithValue("@CIndex", .cmbEditEvents.SelectedIndex)
  8.             Adapter.DeleteCommand.ExecuteNonQuery()
  9.             frmOverview.lstEvents.Items.RemoveAt(.cmbEditEvents.SelectedIndex)
  10.             .cmbEditEvents.Items.RemoveAt(.cmbEditEvents.SelectedIndex)
  11.             frmOverview.rtbEvents.Text = vbNullString
  12.             Connection.Close()
  13.             RemoveTextFromEvent()
  14.         End With
  15.     End Sub