OVH Cloud OVH Cloud

VBA: Créer des relation entre tables

6 réponses
Avatar
Stach
Salut,

qq pourrait-il m'expliquer comment cr=E9er des relations=20
entre des tables par VBA

J'ai essay=E9:

Set Table =3D CurrentDb.createRelation ("tblA","tblB")

=E7a ne donne pas d'erreur, mais =E7a ne cr=E9e pas la relation.

Help!

Stach ;-)=20
=20

6 réponses

Avatar
3stone
Salut,


qq pourrait-il m'expliquer comment créer des relations
entre des tables par VBA

J'ai essayé:
Set Table = CurrentDb.createRelation ("tblA","tblB")
ça ne donne pas d'erreur, mais ça ne crée pas la relation.


Regarde dans l'aide, au sujet de "CreateRelation"

Tu aussi désigner les deux champs qui interviennent dans ta relation.


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------
Avatar
merci pour ta réponse ;-)

Où dois-je désigner les champs stp???

Stach.

-----Message d'origine-----
Salut,


qq pourrait-il m'expliquer comment créer des relations
entre des tables par VBA

J'ai essayé:
Set Table = CurrentDb.createRelation ("tblA","tblB")
ça ne donne pas d'erreur, mais ça ne crée pas la relation.


Regarde dans l'aide, au sujet de "CreateRelation"

Tu aussi désigner les deux champs qui interviennent dans
ta relation.



--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------



.



Avatar
Raymond
Bonjour Pierre.

il ne manquerait pas une virgule ? il y a le nom facultatif avant les tables
( je n'ai rien pour vérifier).
Set Table = CurrentDb.createRelation (,"tblA","tblB")

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"3stone" a écrit dans le message de
news:3f9687ad$0$252$
Salut,


qq pourrait-il m'expliquer comment créer des relations
entre des tables par VBA

J'ai essayé:
Set Table = CurrentDb.createRelation ("tblA","tblB")
ça ne donne pas d'erreur, mais ça ne crée pas la relation.


Regarde dans l'aide, au sujet de "CreateRelation"

Tu aussi désigner les deux champs qui interviennent dans ta relation.


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------





Avatar
Rv
Salut,

Un exemple qui fonctionne avec 2 tables "table1" et "table2" :
Table1 : clé primaire dans table1 "id1", type text 50
Table2 : clé étrangère "id1", type text 50

Sub creerRelation()
Dim objDb As DAO.Database
Dim objRelation As DAO.Relation
Dim objField As DAO.Field


Set objDb = CurrentDb

' Créer un objet relation
Set objRelation = objDb.CreateRelation("MaRelation1", "Table1",
"Table2", dbRelationUnique)
' Créer et définir un objet field
Set objField = objRelation.CreateField("Id1", dbText, 50)
objField.ForeignName = "id1"
' Ajouter le field à la relation
objRelation.Fields.Append objField
' Ajouter la relation à la collection des relations
objDb.Relations.Append objRelation

Set objDb = Nothing

End Sub

A+

Rv

"Stach" a écrit dans le message de
news:0ce601c39899$04935ad0$
Salut,

qq pourrait-il m'expliquer comment créer des relations
entre des tables par VBA

J'ai essayé:

Set Table = CurrentDb.createRelation ("tblA","tblB")

ça ne donne pas d'erreur, mais ça ne crée pas la relation.

Help!

Stach ;-)
Avatar
3stone
Salut,

"Raymond"
| il ne manquerait pas une virgule ? il y a le nom facultatif avant les tables
| ( je n'ai rien pour vérifier).
| Set Table = CurrentDb.createRelation (,"tblA","tblB")



Extrait de l'aide...

Set relNew = .CreateRelation("EmployeesDepartments", _
tdfNew.Name, tdfEmployees.Name, _
dbRelationUpdateCascade)

' Create Field object for the Fields collection of the
' new Relation object. Set the Name and ForeignName
' properties based on the fields to be used for the
' relation.
relNew.Fields.Append relNew.CreateField("DeptID")
relNew.Fields!DeptID.ForeignName = "DeptID"
.Relations.Append relNew



--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------
Avatar
Pierre CFI
bonjour
voilà un exemple clair

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Rv" a écrit dans le message de news:
Salut,

Un exemple qui fonctionne avec 2 tables "table1" et "table2" :
Table1 : clé primaire dans table1 "id1", type text 50
Table2 : clé étrangère "id1", type text 50

Sub creerRelation()
Dim objDb As DAO.Database
Dim objRelation As DAO.Relation
Dim objField As DAO.Field


Set objDb = CurrentDb

' Créer un objet relation
Set objRelation = objDb.CreateRelation("MaRelation1", "Table1",
"Table2", dbRelationUnique)
' Créer et définir un objet field
Set objField = objRelation.CreateField("Id1", dbText, 50)
objField.ForeignName = "id1"
' Ajouter le field à la relation
objRelation.Fields.Append objField
' Ajouter la relation à la collection des relations
objDb.Relations.Append objRelation

Set objDb = Nothing

End Sub

A+

Rv

"Stach" a écrit dans le message de
news:0ce601c39899$04935ad0$
Salut,

qq pourrait-il m'expliquer comment créer des relations
entre des tables par VBA

J'ai essayé:

Set Table = CurrentDb.createRelation ("tblA","tblB")

ça ne donne pas d'erreur, mais ça ne crée pas la relation.

Help!

Stach ;-)