Hej alla glada! * Skapa en klassmodul som heter person. Hej Andreas!Använda collections
Jag skulle behöva lite hjälp med detta...
(Använder Access2000 )
Det är så att jag skulle vilja kunna använda en collection och ladda den med en egen definierad typ.
Vill sedan göra en funktion som returnerar en laddad collection.
Kod exempel:
Public Type Person
FirstName As String
LastName As String
BirthDate As Date
End Type
Public Function getPersons() As Collection
Dim p1 As Person
Dim p2 As Person
Dim coll As Collection
Set coll = New Collection
p1.FirstName = "Kalle"
p1.LastName = "Karlsson"
p1.BirthDate = "1920-01-01"
coll.Add p1 ' här får jag felmeddelande
p2.FirstName = "Sara"
p2.LastName = "Eriksson"
p2.BirthDate = "1980-02-02"
coll.Add p2
getPersons = coll
End Function
Felmeddelandet:
Only user-defined types defined in public object modules can be coerced to or from a variant or passed to late-bound functions
Visst är det väl så att i collections lägger man objekt. Är det så att egendefinerade typer inte räknas som ett objekt?
Tacksam för hjälp :-)
MariaSv: Använda collections
* Lägg in följande kod i klassmodulen Person:
Public FirstName As String
Public LastName As String
Public BirthDate As Date
* Använd följande kod:
Public Function getPersons() As Collection
Dim p As Person
Dim coll As Collection
Set coll = New Collection
Set p = New Person
p.FirstName = "Kalle"
p.LastName = "Karlsson"
p.BirthDate = #1920-01-01#
coll.Add p
Set p = New Person
p.FirstName = "Sara"
p.LastName = "Eriksson"
p.BirthDate = #1980-02-02#
coll.Add p
getPersons = coll
End Function
Sv:Använda collections
Tack för svar!!
Det är alltså så att man ska skapa en klass först, misstänkte nästan att det var där problemet låg...
Maria