LEADERSOFT.ru Разработка на заказ программ и сайтов
ЕСЛИ БАЗА ВАМ НУЖНА В ЛИДЕРСОФТ ЗАЙДИ СПЕРВА!
Все примеры Microsoft Access - VBA


















































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

Все примеры Microsoft Access
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 StringAs 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