Программирование на Visual Basic | Microsoft Access. Создание элемента ListView

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

Microsoft Access. Создание элемента ListView

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

Public myNewList As MicrosoftList

'  Управление Microsoft ListView c демонстрацией событий
'
Private Sub Form_Load()
    If myNewList Is Nothing Then
        ' СоздУслуги, упаковка,транспорт, наценкаание объекта
        Set myNewList = New MicrosoftList
        Set myNewList.Tree = Me.myList.Object
        ' Загружаем узлы дерева из запроса
        myNewList.Load "sqlListView"
    End If
End Sub


'  ----------- Объявляем класс List из Mscomctl.ocx --------
Public WithEvents Tree As MSComctlLib.ListView

' Объявляем событие для сообщений
'==============================================================
'  События при создании/уничтожении класса
Private Sub Class_Initialize()
   ' Инициализация
End Sub
Private Sub Class_Terminate()
   ' Сохраняем данные
End Sub

'==============================================================
'  События при нажатии рисунка
Private Sub Tree_ItemClick(ByVal Item As ListItem)
    'MsgBox Item.Text
End Sub
Private Sub Tree_DblClick()
    MsgBox Me.Tree.SelectedItem.Text, vbInformation, "Двойное нажатие"
End Sub

'==============================================================
'   Другие свойства класса

Public Function Load(strSQL As String) As Boolean
Dim myKey As String, idx As Long
Dim rst As ADODB.Recordset
    On Error GoTo 999
    
    ' Загрузка дерева
    Set rst = New ADODB.Recordset
    rst.Open strSQL, Application.CurrentProject.Connection
    Me.Tree.ListItems.Clear
    idx = 1
    Do Until rst.EOF
        ' Создание узла и его ключей
        myKey = "la_"  rst!Тип
        Me.Tree.ListItems.Add idx, myKey, Nz(rst!Наименование), CStr(rst!Icon), CStr(rst!Icon)
        rst.MoveNext
        idx = idx + 1
    Loop
    Load = True
    
998:
    rst.Close
    Set rst = Nothing
    Err.Clear
    Exit Function
999:
    Load = False
    MsgBox Err.Description
    On Error Resume Next
    Resume 998
End Function

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

Loading