Collections in Klassen
11.10.2005 13:36:56
Stefan
ich habe zwei Klassen erstellt. Die eine enthält die Eigenschaften eines Kunden, die zweite ist eine Collection der ersten.
Die Funktionen item und count in die Klasse einzubauen, ist nicht weiter schwer:
Public
Function Item(vntKennung As Variant) As clsCPM2_SatzKunde
On Error Resume Next
Set Item = mcolSammlung(vntKennung)
If Err <> 0 Then Err.Raise vbObjectError + 2601, , "Kunde " & vntKennung & " konnte nicht gefunden werden."
End Function
Public
Function Count() As Long
Count = mcolSammlung.Count
End Function
Allerdings kann ich von außen nicht über For-Each-Schleifen auf die Datensätze zugreifen, sondern nur über Item (Bsp: gobjKdn.Item(Index) bzw. gobjKdn(Index)).
Dieser Zugriff ist wesentlich langsamer als ein for-each-Zugriff.
Wie kann ich die Sammlung von außen zugänglich machen? Oder wie kann ich sonst über for-each zugreifen?
Ist es üblich die Collection als global zu definieren? Oder über eine Property-Eigenschaft den Zugriff zu ermöglichen? Brauche ich dann überhaupt noch Item und Count?
Viele wirre Fragen. Bitte gebt mir Tipps!
Vielen Dank im Voraus
Stefan