Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Топ:
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Интересное:
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Const ME_NAME = "Выполнение запросов в транзакции"
Global FORM_WITH_TRANS As Form
Public Function ExecuteTrans(STATUS_STRING As String, queries() As String, Optional ClearStatusString As Boolean = True, _
Optional WithoutTrans As Boolean = False) As Boolean
Static ACTIVE As Boolean
Dim L As Integer, U As Integer, c As Integer, i As Integer
Dim wsp As Workspace, dbs As Database, on_transaction As Boolean
Dim s As String
Dim qa As String
On Error GoTo ErrHandler
ExecuteTrans = False
If Not CheckVersion() Then Exit Function
L = LBound(queries)
U = UBound(queries)
c = U - L + 1
If c < 1 Then Exit Function
If ACTIVE Then
OpenForm "Сообщение_F",,,,, acDialog, "Не завершено выполнение" & vbNewLine & "предыдущей операции",, False
Exit Function
End If
ACTIVE = True
DoCmd.Hourglass True
If Not WithoutTrans Then
Set wsp = DBEngine.Workspaces(0)
wsp.IsolateODBCTrans = True
wsp.BeginTrans
on_transaction = True
End If
Set dbs = CurrentDb
For i = L To U
SysCmd acSysCmdInitMeter, STATUS_STRING & "..." & i & "/" & c, c
SysCmd acSysCmdUpdateMeter, i
If queries(i) <> "" Then dbs.Execute queries(i), dbFailOnError
DoEvents
Next i
If Not WithoutTrans Then
wsp.CommitTrans dbForceOSFlush
on_transaction = False
End If
ExecuteTrans = True
'обновление активности после выполнения транзакции
qa = "UPDATE Активные_пользователи SET Активные_пользователи.TRANSACT_LAST = Now()" & vbNewLine
qa = qa & "WHERE KOD_USER = " & DLookup("KOD_USER", gWORK_PLACE) & " AND COMP=" & DLookup("NUM_COMPUTER", gWORK_PLACE)
dbs.Execute qa
ExitFunction:
If ClearStatusString Then SysCmd acSysCmdClearStatus: DoCmd.Hourglass False
ACTIVE = False
Exit Function
ErrHandler:
If on_transaction Then wsp.Rollback
DoCmd.Hourglass False
ACTIVE = False
Select Case Err.NUMBER
Case 3022 'Нарушение уникальности индекса
OpenForm "Сообщение_F",,,,, acDialog, "Нарушение уникальности индекса" & vbNewLine & "Запрос№" & i & ": " & queries(i),, False
Case 3167 'Запись удалена
OpenForm "Сообщение_F",,,,, acDialog, _
"Не удалось провести изменения из-за" & vbNewLine & _
"конфликта с изменениями другого" & vbNewLine & _
"пользователя!" & vbNewLine & _
"Попробуйте внести изменения еще раз!" & vbNewLine & "Запрос№" & i & ": " & queries(i),, False
Case 3200 'Удаление или изменение записи невозможно. В таблице '$' имеются связанные записи.
OpenForm "Сообщение_F",,,,, acDialog, _
"Изменение невозможно!" & vbNewLine & _
"Ведет к нарушению целостности данных!" & vbNewLine & "Запрос№" & i & ": " & queries(i),, False
Case 3218, 3260 'Обновление невозможно; блокировка установлена пользователем '$' на машине '$'.
OpenForm "Сообщение_F",,,,, acDialog, _
"Не удалось провести изменения в" & vbNewLine & _
"документе, так как в данный момент" & vbNewLine & _
"выполняется обработка данных на" & vbNewLine & _
"другом компьютере!" & vbNewLine & _
"Подождите немного и попробуйте внести" & vbNewLine & _
"изменения еще раз!" & vbNewLine & "Запрос№" & i & ": " & queries(i),, False
Case 3265 'Item not found in this collection
OpenForm "Сообщение_F",,,,, acDialog, "Нет такого запроса: " & vbNewLine & queries(i),, False
Case 3316 'Товар_остатки_подробно
OpenForm "Сообщение_F",,,,, acDialog, _
"Операция не может быть выполнена!" & vbNewLine & _
Err.DESCRIPTION
Case 3035 'Недостаточно системных ресурсов
OpenForm "Сообщение_F",,,,, acDialog, _
"Недостаточно системных ресурсов!" & vbNewLine & vbNewLine & _
"Попробуйте изменить условия отбора," & vbNewLine & _
"чтобы уменьшить объем формируемых данных.",, False
Case Else
s = "Сообщите разработчику программы" & vbNewLine & Err.NUMBER & ": " & Err.DESCRIPTION
If Not IsEmpty(queries) Then s = s & vbNewLine & "Запрос №" & i & ": " & queries(i)
OpenForm "Сообщение_F",,,,, acDialog, s,, False
End Select
SysCmd acSysCmdClearStatus
Exit Function
Resume
End Function
Public Function isNothing(V As Object) As Boolean
isNothing = (TypeName(V) = "Nothing")
End Function
|
|
|
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!