CDaoDatabase::CreateRelation

void CreateRelation (LPCTSTR lpszName, LPCTSTR lpszTable,LPCTSTR lpszForeignTable, long lAttributes, LPCTSTR lpszField,LPCTSTR lpszForeignField );
jeter (CDaoException, CMemoryException);

void Cre&ateRelation (CDaoRelationInfoamp ;relinfo );
jeter (CDaoException, CMemoryException);

Paramètres

lpszName

Le nom unique de l'objet relation. Le nom doit commencer par une lettre et peut contenir un maximum de 40 caractères. Elle peut inclure des numéros et caractères, soulignement mais ne peut pas contenir de ponctuation ou espaces.

lpszTable

Le nom de la table primaire dans la relation. Si la table n'existe pas, MFC lève une exception de type CDaoException.

lpszForeignTable

Le nom de la table étrangère dans la relation. Si la table n'existe pas, MFC lève une exception de type CDaoException.

lAttributes

Une valeur long qui contient des informations sur le type de relation. Vous pouvez utiliser cette valeur pour appliquer l'intégrité référentielle, entre autres choses. Vous pouvez utiliser l'opérateur de bits OR (|) pour combiner les valeurs suivantes (pour autant que la combinaison logique):

lpszField

Un pointeur vers une chaîne terminée par null, contenant le nom d'un champ dans la table primaire (nommé par lpszTable).

lpszForeignField

Un pointeur vers une chaîne terminée par null, contenant le nom d'un champ dans la table étrangère (nommé par lpszForeignTable).

relinfo

Une référence à un objet CDaoRelationInfo qui contient des informations sur la relation que vous souhaitez créer.

Remarques

Appelez cette fonction membre pour établir une relation entre un ou plusieurs champs dans une table primaire dans la base de données et un ou plusieurs champs dans une table étrangère (une autre table dans la base de données). La relation ne peut impliquer une requête ou une table attachée à une base de données externe.

Utiliser la première version de la fonction lorsque la relation implique un champ dans chacune des deux tables. Utilisez la deuxième version lorsque la relation comporte plusieurs champs. Le nombre maximal de champs dans une relation est de 14.

Cette action crée un objet de relation DAO sous-jacente, mais c'est un détail d'implémentation MFC depuis l'encapsulation de la relation objets MFC est contenue dans la classe CDaoDatabase. MFC ne fournit pas une classe pour les relations.

Si vous définissez la relation entre les attributs de l'objet pour activer les opérations de cascade, le moteur de base de données automatiquement mises à jour ou supprime des enregistrements dans une ou plusieurs autres tables lorsque des modifications sont apportées aux tables connexes de clé primaires.

Par exemple, supposons que vous avez établi une cascade supprimer la relation entre une table clients et une table commandes. Lorsque vous supprimez des enregistrements de la table clients, enregistrements de la table commandes liées à ce client sont également supprimés. En outre, si vous établissez la cascade supprimer les relations entre la table Orders et autres tables, enregistrements dans ces tables sont automatiquement supprimés lorsque vous supprimez des enregistrements de la table Customers.

Pour plus d'informations, consultez la rubrique « Méthode CreateRelation » dans l'aide de DAO.

Aperçu CDaoDatabase |  ; Membres de la classe | Graphique de la hiérarchie

Voir aussi  ;CDaoDatabase::DeleteRelation

Index