DWUTKA at marlow.com
DWUTKA at marlow.com
Mon Oct 25 17:17:11 CDT 2004
What I prefer to do is create a count and Info property for the class:
So if I have a SomeObject class, and I have a SomeObjects Class, I would
have something like this:
Dim SomeObjs as Collection
Property get SomeObjectCount() As Long
SomeObjectCount=SomeObjs.Count
End Get
Property Get SomeObjectInfo(intPos) As SomeObject
Set SomeObjectInfo=SomeObjs(val(intPos))
End Property
Lets you loop through the collection then.
Drew
-----Original Message-----
From: S D [mailto:accessd667 at yahoo.com]
Sent: Friday, October 22, 2004 1:17 AM
To: accessd at databaseadvisors.com
Subject: [AccessD] Itterate a collection
Hi group,
I've got a class that returns a collection....how the $#$ call I iterate
that collection?
TIA
SD
Here's the code I use in my form:
Private Sub cmdRetrieveTablenames_Click()
Dim cDO As cDatabaseObjects
Dim oColl As Collection
Set cDO = New cDatabaseObjects
Set oColl = New Collection
cDO.TableNames
End Sub
Here's the code in the class cDatabaseObjects:
Public Function TableNames() As Collection
On Error GoTo errHandler
Dim oCatalog As New ADOX.Catalog
Dim oTableNames As New Collection
Dim oTables As ADOX.Tables
Dim oTable As ADOX.Table
Dim oConnection As New ADODB.Connection
Set oCatalog.ActiveConnection = CurrentProject.Connection
Set oTables = oCatalog.Tables
For Each oTable In oTables
oTableNames.Add oTable.Name
Next
Set TableNames = oTableNames
errHandler:
On Error Resume Next
If oConnection.State <> 0 Then oConnection.Close
Set oConnection = Nothing
Set oCatalog = Nothing
Set oTable = Nothing
Set oTables = Nothing
End Function
---------------------------------
Do you Yahoo!?
Yahoo! Mail - Helps protect you from nasty viruses.
--
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com