Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Créer une relation Access dans VB .Net

1 réponse
Avatar
Stéphane
Bonjour,

J'ai créé une base Access via les références Microsoft Ado Ext. 2.8 for DLL
and Security et Microsoft ActiveX Data Objects 2.8 Library.

Dans cette base, j'ai pu créer des tables avec des champs.

Ensuite, j'essaie de créer les relations, mais l'enregistrement de la table
provoque une erreur.

En regardant dans la MSDN pour l'interface ADOX.Key, j'ai du mal à trouver
où doit se trouver la table parent, la clef primaire (de la table parent),
la table enfant et la clef secondaire (de la table enfant). (car malgré
l'exemple ici : http://msdn2.microsoft.com/en-us/library/ms675116.aspx ,
comme le MCD n'est pas fournit, j'ai du mal à comprendre quel champs
appartient à quelle table, et dans quel sens est la relation 1,1 à 1,n).


Merci de m'éclairer.

Stéphane.


PS : faut-il obligatoirement que les 2 tables soient déjà existantes pour
créer la relation grâce à ADOX.Key.

1 réponse

Avatar
Stéphane
Trouvé, ouf, ce fut difficile :x

Pour information :


La table parent et la table enfant doivent déjà être créées.

La clef primaire de chaque table doit également être déjà définie.

Ensuite, pour créer la relation :
Dim clef_secondaire As New ADOX.Key

clef_secondaire.Name =
nom_du_champs_de_la_clef_secondaire_de_la_table_enfant

clef_secondaire.Type = ADOX.KeyTypeEnum.adKeyForeign

clef_secondaire.RelatedTable = nom_de_la_table_parent

clef_secondaire.Columns.Append(nom_du_champs_de_la_clef_secondaire_de_la_table_enfant)

clef_secondaire.Columns(nom_du_champs_de_la_clef_secondaire_de_la_table_enfant).RelatedColumn
= nom_du_champs_de_la_clef_primaire_de_la_table_parent

clef_secondaire.UpdateRule = ADOX.RuleEnum.adRINone

table.Keys.Append(clef_secondaire)



Stéphane.

"Stéphane" a écrit dans le message de
news:
Bonjour,

J'ai créé une base Access via les références Microsoft Ado Ext. 2.8 for
DLL and Security et Microsoft ActiveX Data Objects 2.8 Library.

Dans cette base, j'ai pu créer des tables avec des champs.

Ensuite, j'essaie de créer les relations, mais l'enregistrement de la
table provoque une erreur.

En regardant dans la MSDN pour l'interface ADOX.Key, j'ai du mal à trouver
où doit se trouver la table parent, la clef primaire (de la table parent),
la table enfant et la clef secondaire (de la table enfant). (car malgré
l'exemple ici : http://msdn2.microsoft.com/en-us/library/ms675116.aspx ,
comme le MCD n'est pas fournit, j'ai du mal à comprendre quel champs
appartient à quelle table, et dans quel sens est la relation 1,1 à 1,n).


Merci de m'éclairer.

Stéphane.


PS : faut-il obligatoirement que les 2 tables soient déjà existantes pour
créer la relation grâce à ADOX.Key.