Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Массив + коллекция
 
 автор: Lukas   (31.03.2010 в 17:38)   личное сообщение
 
 

Появилось желание(потребность) совместить
удобство коллекции в получении элемента по строковому ключу и
возможность хранения в массиве самописных структур.
Вот что получилось (вкратце):

Public Type tTriad
    First As Byte
    Second As Byte
    Third As Byte
End Type

Public Type tQuadTriad
    Triad(3) As tTriad
End Type

Private ArrQuadTriad() As tQuadTriad
Private Col As New Collection

Public Function FillCol()
    Dim i As Integer, j As Integer, z As Integer
    Dim strKey As String
    
    Set Col = Nothing
    '...
    z = 15 'реально значения разные
    ReDim ArrQuadTriad(z)
    '...
    For i = 0 To z
        strKey = "msdsad" & i 'реально другие значения, разные для каждого i
        For j = 0 To 3
            With ArrQuadTriad(i).Triad(j)
                .First = 1 'реально другие значения, разные
                .Second = 2 'реально другие значения, разные
                .Third = 3 'реально другие значения, разные
            End With
        Next j
        Col.Add i, strKey
    Next i
End Function

Public Function GetQuadTriad(strKey As String) As tQuadTriad
    GetQuadTriad = ArrQuadTriad(Col.Item(strKey))
End Function

Теперь, после заполнения коллекции, по строковому ключику могу иметь ссылки на свои структуры:
'?GetQuadTriad("msdsad1").Triad(0).First

Вопрос:
Я тут часом не через "дымоход" пытаюсь влезть?
Спасибо.

  Ответить  
 
 автор: kot_k_k   (01.04.2010 в 08:21)   личное сообщение
 
 

интересно - я когдан-нибудь выучу VB процентов на 50%

  Ответить  
 
 автор: Анатолий (Киев)   (01.04.2010 в 11:08)   личное сообщение
 
 

Ваша крнструкция вполне имеет право на жизнь, хотя во многих случаях отвязанный ADODB.Recordset может стать лучшей альтернативой.

  Ответить  
 
 автор: Lukas   (01.04.2010 в 11:54)   личное сообщение
 
 

Спасибо, Анатолий.
Альтернативу с ADODB.Recordset нужно будет покурить.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList