Jim DeMarco
Jdemarco at hudsonhealthplan.org
Fri Oct 22 07:06:11 CDT 2004
Two ways that I know of
:
Private Sub cmdRetrieveTablenames_Click()
Dim cDO As cDatabaseObjects
Dim oColl As Collection
dim colItem As Variant
Set cDO = New cDatabaseObjects
Set oColl = cDO.TableNames
For Each colItem in oColl
debug.print colItem
Next
Set oColl = nothing
End Sub
or
Private Sub cmdRetrieveTablenames_Click()
Dim cDO As cDatabaseObjects
Dim oColl As Collection
Dim i As Integer
Set cDO = New cDatabaseObjects
Set oColl = cDO.TableNames
For i = 1 To oColl.Count
debug.print oColl.Item(i)
Next i
Set oColl = nothing
End Sub
HTH
Jim DeMarco
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com]On Behalf Of S D
Sent: Friday, October 22, 2004 2: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
***********************************************************************************
"This electronic message is intended to be for the use only of the named recipient, and may contain information from Hudson Health Plan (HHP) that is confidential or privileged. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of the contents of this message is strictly prohibited. If you have received this message in error or are not the named recipient, please notify us immediately, either by contacting the sender at the electronic mail address noted above or calling HHP at (914) 631-1611. If you are not the intended recipient, please do not forward this email to anyone, and delete and destroy all copies of this message. Thank You".
***********************************************************************************