Обучение программированию | Microsoft Access. Использование StatusBar в Microsoft Access

В этом разделе сайта находятся примеры из сборника программ "Архив файлов на Microsoft Access". В нем рассказывается о программировании форм, отчетов, таблиц и других объектов. Используйте этот архив для изучения работы с приложением Microsoft Office Access и программированием на Visual Basic for Application.

Тем кто уже знаком с VBA, используйте поиск для нахождения кодов. Наберите, например, DAO, ADO, Recordset и найдете нужную ссылку для решения проблемы с программированием

Microsoft Access. Использование StatusBar в Microsoft Access

Данный пример показывает как можно использовать элементStatusBar в Microsoft Access. Не забудьте подключить в новых файлах C:\Windows\System32\mscomctl.ocx

Private WithEvents sl As Slider ' Скользящая шкала
Dim sb As statusBar ' Строка комментариев
Dim pr As ProgressBar ' Шкала загрузки

'
' Настройка процесса в форме
Private Sub Form_Open(Cancel As Integer)
   
   ' Инициализация
   Set sl = Me.mySlider.Object
   sl.Min = 1
   sl.Max = 50
   sl.Value = 25
   
   ' Инициализация указателя загрузки
   Set pr = Me.myProgressBar.Object
   pr.Min = 1
   pr.Max = 10000
   
   ' Инициализация панелей
   Set sb = Me.myStatusBar.Object
   With sb.Panels
      .Clear ' Удаление всех данных
      .Add 1, "k1", "Загрузка"
      .Add 2, "k2", " "
      .Item(1).MinWidth = 850 ' Ширина панели
   End With
End Sub

'   Запуск процесса
Private Sub butProgress_Click()
Dim i As Long
    Me.Tag = "Start"
    For i = 1 To 10000
        ' Меняем сообщение с определенным шагом
        If (i / sl.Value) = (i \ sl.Value) Then
            pr.Value = i
            sb.Panels(2).Text = "Всего: "  i
            DoEvents ' Надо только для события sl_Change
        End If
        If Me.Tag = "Stop" Then Exit For
    Next i
    pr.Value = 1
    sb.Panels(2).Text = ""
End Sub

'   Определение события Slider
Private Sub sl_Change()
    Me.Tag = "Stop" ' Определяем флаг для выхода из процесса
End Sub

'   Освобождение ресурсов
Private Sub Form_Close()
    Set pr = Nothing
    Set sb = Nothing
End Sub

Добавить комментарий

Loading