Gedemin TLB.IgsQueryList.Abort

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
Строка 8: Строка 8:
  
 
Пример:
 
Пример:
 +
 
<syntaxhighlight lang="VBNET">
 
<syntaxhighlight lang="VBNET">
 
   Option Explicit
 
   Option Explicit
Строка 26: Строка 27:
 
       BaseQueryList.Abort "Выполнение отчета прервано", False, True
 
       BaseQueryList.Abort "Выполнение отчета прервано", False, True
 
       Exit Function
 
       Exit Function
 +
    End If
 +
 +
    ...
 +
 +
  End Function
 +
</syntaxhighlight>
 +
 +
Альтернативный способ "тихо" прервать выполнение отчета -- это вызвать исключение '''EAbort''':
 +
 +
<syntaxhighlight lang="VBNET">
 +
  Option Explicit
 +
  Function rp_Main147093837_526525356(OwnerForm)
 +
 
 +
    BaseQueryList.Clear
 +
   
 +
    Set rp_Main147093837_526525356 = BaseQueryList
 +
     
 +
    Dim q
 +
    Set q = BaseQueryList.Query(BaseQueryList.Add("q", 0))
 +
    q.SQL = "SELECT * FROM gd_contact"
 +
    q.Open
 +
 +
    ...
 +
 
 +
    If ... Then ' что-то пошло не так...
 +
      Exception.Raise "EAbort", ""
 
     End If
 
     End If
 
   
 
   

Версия 15:23, 17 января 2016

From Gedemin TLB.pas

 procedure Abort(const AMessage: WideString; APreserveData: WordBool; ARollback: WordBool); safecall;

Unit: Gedemin TLB

Type: procedure

Visibility: public

Member Of: IgsQueryList

Описание

Прерывает построение отчета.

AMessage
Сообщение, которое будет показано пользователю. Если задать пустую строку, то построение отчета прервется без вывода на экран каких либо дополнительных окон и сообщений.
APreserveData
APreserveData = True -- не очищать BaseQueryList (т.е. не выполнять метод Clear. В таком случае значение параметра ARollback ни на что не влияет).
ARollback
Если APreserveData = False, то определяет как завершить транзакцию, на которой выполнялись запросы отчета. Откатить ее (True) или подтвердить (False).

Пример:

  Option Explicit
  Function rp_Main147093837_526525356(OwnerForm)
 
    BaseQueryList.Clear
 
    Set rp_Main147093837_526525356 = BaseQueryList
 
    Dim q
    Set q = BaseQueryList.Query(BaseQueryList.Add("q", 0))
    q.SQL = "SELECT * FROM gd_contact"
    q.Open
 
    ...
 
    If ... Then ' что-то пошло не так...
      BaseQueryList.Abort "Выполнение отчета прервано", False, True
      Exit Function
    End If
 
    ...
 
  End Function

Альтернативный способ "тихо" прервать выполнение отчета -- это вызвать исключение EAbort:

  Option Explicit
  Function rp_Main147093837_526525356(OwnerForm)
 
    BaseQueryList.Clear
 
    Set rp_Main147093837_526525356 = BaseQueryList
 
    Dim q
    Set q = BaseQueryList.Query(BaseQueryList.Add("q", 0))
    q.SQL = "SELECT * FROM gd_contact"
    q.Open
 
    ...
 
    If ... Then ' что-то пошло не так...
      Exception.Raise "EAbort", ""
    End If
 
    ...
 
  End Function
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты