MyTetra Share
Делитесь знаниями!
Изменение свойства UseTransaction сразу всех запросов приложения
16.03.2019
23:43
Раздел: !Закладки - VBA - Access - msa.polarcom.ru - 03 Запросы

Изменение свойства UseTransaction сразу всех запросов приложения

Вместо пояснений,  цитата из справочной системы:
     Задав для свойства Использовать транзакцию (UseTransaction) значение Нет, можно значительно повысить быстродействие при определенных обстоятельствах. В этом случае пользователь никогда не столкнется с проблемами, связанными со слишком большим количеством запросов на блокировку записей. Кроме того, ядро базы данных Jet не сохраняет результаты запроса во временной базе данных, что тоже повышает быстродействие.
Если существует большое количество записей, которые должны быть записаны во временную базу данных, то выполнение запроса на изменение как отдельной транзакции может снизить быстродействие. Кроме того, при выполнении запроса на удаление или обновление в общей базе данных, возникает большое количество запросов на блокировку записей. Это может снизить быстродействие в некоторых сетевых операционных системах, например, в NetWare выполнение запроса будет прервано, если количество запросов на блокировку записей превысит 10000.
    Если завершение транзакции невозможно, появляется сообщение об ошибке и пользователь может сохранить или нет внесенные изменения.

Private Sub ChangeQueriesPrp()

'es 17.01.2004

'Изменение свойств сразу всех запросов приложения

'--------------------------------------------------------------------

Dim dbs As Database, qdf As QueryDef

On Error GoTo ChangeQueriesPrpErr

Set dbs = CurrentDb

For Each qdf In dbs.QueryDefs

'если запрос не на выборку то меняем его свойства

If qdf.Type <> dbQSelect Then

Debug.Print qdf.Name

qdf.Properties("UseTransaction") = False

End If

Next qdf

Exit Sub

ChangeQueriesPrpErr:

MsgBox "Процедура [ChangeQueriesPrp] привела к ошибке:" & vbCrLf & _

Err.Description & vbCrLf & " Err#" & Err.Number, vbCritical

End Sub



 
MyTetra Share v.0.52
Яндекс индекс цитирования