Class Relations (DAO VBA)
A Relations collection contains stored Relation objects of a Database object (Microsoft Access database engine databases only). To use a Relations class variable it first needs to be instantiated, for example
Dim rels as Relations
Set rels = Workspaces(1).Databases(1).Relations
Append
Adds a new Relation to the Relations collection.
The appended object becomes a persistent object, stored on disk, until you delete it by using the Delete method. The addition of a new object occurs immediately, but you should use the Refresh method on any other collections that may be affected by changes to the database structure. If the object you're appending isn't complete (such as when you haven't appended any Field objects to a Fields collection of an Index object before it's appended to an Indexes collection) or if the properties set in one or more subordinate objects are incorrect, using the Append method causes an error. For example, if you haven’t specified a field type and then try to append the Field object to the Fields collection in a TableDef object, using the Append method triggers a run-time error.
Append (Object)
Object: An object variable that represents the field being appended to the collection.
Dim rels As DAO.Relations: Set rels =
rels.Append Object:=
Count
Returns the number of objects in the specified collection.
Because members of a collection begin with 0, you should always code loops starting with the 0 member and ending with the value of the Count property minus 1. If you want to loop through the members of a collection without checking the Count property, you can use a For Each...Next command. The Count property setting is never Null. If its value is 0, there are no objects in the collection.
Dim rels As DAO.Relations: Set rels =
rels.Count
Delete
Deletes the specified Relation from the Relations collection.
The Delete method is supported only when the Relation object is a new, unappended object.
Delete (Name)
Name: The name of the relation to delete.
Dim strName As String: strName =
Dim rels As DAO.Relations: Set rels =
rels.Delete Name:=strName
Item
Item (Item)
Refresh
Updates the objects in the specified colletion to reflect the database's current schema.
Use the Refresh method in multiuser environments in which other users may change the database. You may also need to use it on any collections that are indirectly affected by changes to the database. For example, if you change a Users collection, you may need to refresh a Groups collection before using the Groups collection. A collection is filled with objects the first time it's referred to and won't automatically reflect subsequent changes other users make. If it's likely that another user has changed a collection, use the Refresh method on the collection immediately before carrying out any task in your application that assumes the presence or absence of a particular object in the collection. This will ensure that the collection is as up-to-date as possible. On the other hand, using Refresh can unnecessarily slow performance.
Dim rels As DAO.Relations: Set rels =
rels.Refresh