StopReport

отредактировано 22:18 Раздел: Talks
В отчете есть диалоговое окно, в котором при запуске задаются пользовательские фильтры. Если никакой фильтр не установлен, выводится предупреждение, что отчет может выполняться очень долго. По нажатию пользователем "отмена" идет StopReport. Вопрос: почему все равно выполняется SQL? Назначение SQL запросу идет по коду ниже.

Комментарии

  • отредактировано 22:18
    StopReport делать не надо - если кнопка возвращает mrCancel, отчет строиться не будет.
  • отредактировано 22:18
    Еще раз подробнее схема отчета: при запуске отчета выводится диалоговое окно с выбором периода выполнения отчета и складов, по которым отчет будет выполняться. Юзер может выбрать список складов, по которым будет строится отчет, а может запустить по всей фирме. Случай, когда склады не перечислены, хотелось бы обработать примерно так:

    If ctl_StockEdit.Text='' Then
    If [MessageBox('Отчет будет выполняться по всем складам, это может занять много времени. Продолжить?','Подтверждение',mb_IconQuestion Or mb_OkCancel)]=mrCancel Then StopReport

    На практике при такой схеме обрабатывается код, стоящий после StopReport.
    В моем случае для Query назначается и выполняется SQL. Так что процедура отмены выполнения отчета растягивается минут на 20.

    Конечно, этоу неприятность можна обойти:

    If ctl_StockEdit.Text='' Then sw:= [MessageBox('Отчет будет выполняться по всем секциям, это может занять много времени. Продолжить?','Подтверждение',mb_IconQuestion Or mb_OkCancel)]=mrOk;
    If sw Then
    Begin
    //Выполнение запроса и обработка переменных
    End
    Else
    STOPREPORT;

    Но после нажатия "Отмена" получаем сообщение: "No SQL Statement available".
    Мелочь, но неприятно.

    P.S. Огромное спасибо, что ответили на мои вопросы,- я думал тут уже живых нету.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.