Ошибка MS Access 3265 «элемент не найден в этой коллекции» при открытии формы в режиме добавления - PullRequest
2 голосов
/ 14 июля 2020

У меня есть форма со списком, в котором разрешен множественный выбор. Форма настроена так, что выборки сохраняются в отдельной таблице. Он отлично работает, когда форма открывается в режиме редактирования.

Однако, когда я настраиваю форму для открытия в режиме добавления, я получаю эту ошибку, когда нажимаю на элемент в списке. Как заставить код работать, когда форма открыта в режиме добавления? Я не разработчик, поэтому не знаю, с чего начать. Вот код:

Private Sub Lst_Events_AfterUpdate()
On Error GoTo Err_lst_events_AfterUpdate

   Dim db As DAO.Database
   Dim ws As DAO.Workspace
   Dim strSQL As String
   Dim blnInTransaction As Boolean
   Dim varItem As Variant

   ' Make sure the current vendor record has been saved.
   If Me.Dirty Then Me.Dirty = False

   Set ws = Workspaces(0)
   Set db = ws.Databases(0)

   ws.BeginTrans
   blnInTransaction = True

   ' Delete all events now on record.
   strSQL = "DELETE FROM tbl_EventsSupported " & _
            "WHERE Vendorid = " & Me.ID

   db.Execute strSQL, dbFailOnError

   ' Add each event selected in the list box.
   With Me.lst_events
      For Each varItem In .ItemsSelected
        strSQL = _
            "INSERT INTO tbl_EventsSupported " & _
                "(vendorID, EventID) VALUES (" & _
                Me.ID & ", " & .ItemData(varItem) & ")"
        db.Execute strSQL, dbFailOnError
      Next varItem
    End With

   ws.CommitTrans
   blnInTransaction = False

Exit_lst_events_AfterUpdate:
   Set db = Nothing
   Set ws = Nothing
   Exit Sub

Err_lst_events_AfterUpdate:
   MsgBox "Error " & Err.Number & ": " & Err.Description, _
       vbExclamation, "Unable to Update"
   If blnInTransaction Then
       ws.Rollback
       blnInTransaction = False
   End If
   Resume Exit_lst_events_AfterUpdate
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...