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