|
26 Кб. |
|
| Доброе врем суток.
Пытаюсь добавить на транзакцию, но не выходит.
Постановка задачи: на субформе реализовать транзакцию, т.е., если были внесены изменения, то, после потери фокуса (или по-другому), запросить действие пользователя.
Помогите, пожалуйста. | |
|
| |
|
|
|
| .. для того, чтобы пользователь мог подтвердить/отменить сохранение записи в форме нужно вставить в нее следующий код на событие BeforeUpdate:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim strMsg As String
strMsg = "Data has changed."
strMsg = strMsg & "@Вы хотите сохранить изменения?"
strMsg = strMsg & "@Нажмите Yes для записи или No для отмены изменений."
If MsgBox(strMsg, vbQuestion + vbYesNo, "Сохранить запись?") = vbYes Then
'do nothing
Else
DoCmd.RunCommand acCmdUndo
'For Access 95, use DoMenuItem instead
'DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
End If
End Sub
|
По материалам The Access Web. (15.02.00)
попробуйте... | |
|
| |
|
|
|
| изменения в несколько записей подформы скопом - и все разом сохранить?
или
изменения в каждую отдельную конкретную запись - и каждую сохранять?
по ТЗ не очень понятно | |
|
| |
|
|
|
| Изменения в несколько записей подформы скопом - и все разом сохранить | |
|
| |
|
|
|
| Уважаемый Егор. Связанные формы - особая гордость Майкрософта. Их использование не требует от программиста реализации транзакций в явном виде, чем значительно упрощает разработку приложений. Тем не менее программисту предоставлена возможность управлять транзакциями посредством обработки событий формы, например, как Вам уже подсказал 'час'. Так что перестаньте транжирить время попусту - с транзакциями связанных форм. Другое дело, если ваше приложение имеет свободные формы, или формы подгружаемые временными рекордсетами с последующей (пакетной) обработкой и транспортировкой данных. Тут уж 'Транзакции пришли' - будьте любезны. | |
|
| |
|
85 Кб. |
|
| Здорово | |
|
| |