ник: Berezkin
Добрый день. Выполнил рекомендации.
1. rs.LockType=4
2. Сохранил рекордсет в файл - внесенные изменения сохраняются.
3. Прописал me.UniqueTable = "KARTA"
4. Сделал таблицу в SQL Server
Результат при работе в таблице в SQL Server такой же. Обновить несколько записей, измененных в форме не удалось, хотя, если пройтись в цикле по рекордсету:
Dim i As Integer
rs.MoveLast
rs.MoveFirst
For i = 1 To rs.RecordCount
rs!DATBEG = "какое-то значение"
rs.MoveNext
Next i
rs.ActiveConnection = cnn ' Восстанавливаем соединение
rs.UpdateBatch ' Пакетное обновление
Все прекрасно обновляется.
Думаю, что пакетное обновление через форму в ACCESS просто не реализовано...
Появились идеи насчет метода Recync. Кажется что-то получается...
Ничего не получается. После первого вызова Recync данные в форме приводятся в соответствие с базой данных, т. е. все все изменения отменяются (или остаются. если параметр resyncvalues=adResyncUnderlyingValues). А в последующем форма работает без всякого UpdateBatch - все изменения сохраняются.
Не хочется отказыватся от этой идеи поскольку имею дело с большими базами данных (тем более Sybase 5.0). Быстродействие оставляет желать лучшего (мягко сказано).