В элементе управления флажка вы собираетесь добавить [Процедура обработки события] в событие После обновления для флажка (см. Окно свойств). Это заглушит код VBA, нажмите на многоточие ("..."), чтобы перейти к коду VBA.
Вы можете использовать код Рему (после моды), чтобы вставить новый продукт:
If Me.Fitting Then
strSQL="INSERT INTO [Order Details] (ProductID,OtherTextField) " & _
"Values (" & _
Me.ProductID & ",'" & Me.OtherTextField & "')"
CurrentDB.Execute strSQL, dbFailOnError
Me.[Subform control name here].Form.Requery
End If
'[code not tested]
Однако вы, вероятно, также хотите проверить, что Продукта для Заказа еще не существует (допускает ли в ваших бизнес-правилах планирование нескольких фитингов), и вы также можете разрешить удаление продукта Фиттинга. когда он не отмечен - вы можете сделать это с условием else для if перед «end if»:
if 'blah
'blah blah
else
strSQL="Delete [Order Details] " & _
"where ProductID = " & Me.ProductID & " " & _
"and OtherTextField = 'fitting' "
CurrentDB.Execute strSQL, dbFailOnError
Me.[Subform control name here].Form.Requery
end if
'[code not tested]
Вам также нужно будет взломать свою форму «Продукты», чтобы, если вы удалите из нее продукт «Фитинги», вы обновили флажок (или чтобы таким образом нельзя было удалить Фитинги).
Опять же, может быть, вы не хотите использовать флажок, и просто выберите вариант как другой выпадающий список, как и другие продукты. Вы всегда можете быть уверены, что он автоматически заполняется в [Детали заказа] каждый раз, когда создается новый Заказ, чтобы его нельзя было забыть. Это будет более соответствовать остальному пользовательскому интерфейсу выбора продукта.