У меня есть форма со списком, в котором разрешен множественный выбор. Форма настроена так, что выборки сохраняются в отдельной таблице. Он отлично работает, когда форма открывается в режиме редактирования.
Однако, когда я настраиваю форму для открытия в режиме добавления, я получаю эту ошибку, когда нажимаю на элемент в списке. Как заставить код работать, когда форма открыта в режиме добавления? Я не разработчик, поэтому не знаю, с чего начать. Вот код:
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