Подтвердить что ты не робот

Отобразить индикатор выполнения во время обработки

Если я получаю данные из базы данных от времени начала до конца, в течение этого времени (обработки/запроса), я хочу отобразить индикатор выполнения (что-то вроде "Обработка, пожалуйста, подождите" ). Как я могу это сделать?

4b9b3361

Ответ 1

Шаги получения данных из db:

  • приложение отправить запрос в db
  • db анализирует запрос и подготавливает результат.
  • db отправить результат обратно в приложение

В большинстве случаев вы не можете сказать, сколько времени потребуется, поэтому вместо индикатора прогресса подумайте о комбинации:

  • часовой указатель мыши
  • "Подождите" в строке состояния
  • немного анимация (ветряная мельница, вращающиеся шестерни и т.д.)

Ответ 2

Хотя это правда, что вы не можете сказать, сколько времени займет запрос, его можно дать вашему пользователю и понять, что время истекло/осталось. Вы используете контрольную панель выполнения из своей VB IDE. Затем вы устанавливаете его свойство "max" в свой номер записи запроса. По мере того, как вы повторяете записи, увеличивайте свойство "балл". Вот пример; ( "Rs" - это набор записей ADODB)

        ProgressBar1.Max = Rs.RecordCount - 1

        For P = 0 To .RecordCount - 1
           ProgressBar1.Value = P

            'some process here
            Rs.MoveNext

        Next P