Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: ERROR при сохранении изм. записи при переходе на след. запись
 
 автор: ЛМВ   (27.04.2007 в 11:11)   личное сообщение
 
 

Исходные данные:
(версия: ACCESS - 2003 SP1)
Есть две формы: "фрм_Договор" (режим форма) и "фрм_Договора" (реж. табл.)
Переход по записям форм - происходит синхронно с пом. кода (приведу ниже)
При внесении изменений в форму "фрм_Договор" и переходе на след. запись в этой же форме - все работает.
При внесении изменений в форму "фрм_Договор" и переходе на след. запись с помощью второй формы, "фрм_Договора" - происходит сбой.
Выдается сообщение:
Run-time error '-2147352567 (80020009)': Upate или CancelUpdate без AddNew или Edit

Ошибка фиксируется в модуле формы "фрм_Договор", в событии Form_BeforeUpdate.

Идея была такая:
При выборе в "фрм_Договора" любой записи, происходит переход на ту же запись в "фрм_Договор". Если активная до этого запись была изменена, то предварительно в форме "фрм_Договор" происходит событие Form_BeforeUpdate, при котором кое-какие поля в "фрм_Договор" меняются (время сохранения записи, например). Но это изменение некоторых полей и приводит к возникновению указанной выше ошибки

Код синхронизации:

Sub procСинхронизация(ИмяФормы As String, _
ИскомыйКод As Long, _
ИмяПоляГдеИскатьКод As String)
Dim frm As Form
On Error Resume Next
Set frm = Forms(ИмяФормы)
If Err.Number = 0 Then
With frm.RecordsetClone
.FindFirst ИмяПоляГдеИскатьКод & "=" & ИскомыйКод
If .NoMatch = False Then
frm.Bookmark = .Bookmark
End If
End With
Else
' MsgBox "Ошибка №" & Err.Number & vbCrLf _
' & Err.Description
Err.Clear
End If
Set frm = Nothing
End Sub

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList