OVH Cloud OVH Cloud

Recréer les relations

3 réponses
Avatar
Stéphane Lavergne
*Hier soir, ce message n'a apparement pas été reçu dans les news, je le
renvoie donc de nouveau*

Bonjour,

Avant le traitement de mon code, j'ai du supprimer les relations ainsi :
(db représente les bases B2, B3,...,Bn)
n = db.Relations.Count
For i = 1 To n
db.Relations.Delete db.Relations(0).Name
Next

Mais je n'arrive pas à comprendre, par manque d'exemple, comment recréer la
relation entre les tables T1 et T2 avec la commande :
Set relation = database.CreateRelation (name, table, foreigntable,
attributes)

Merci d'avance

Stéphane Lavergne

3 réponses

Avatar
Michel Walsh
Salut,


Le fichier d'aide ne donne rien (moi j'ai un bel exemple sous "CreateRelation Method Example" ) ?

Je reproduis les lignes "critiques", de même que le code de mise en confience.

Espérant être utile,
Vanderghast, Access MVP

==============
With dbsNorthwind

(...)

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




' Print report.
Debug.Print "Properties of " & relNew.Name & _
" Relation"
Debug.Print " Table = " & relNew.Table
Debug.Print " ForeignTable = " & _
relNew.ForeignTable
Debug.Print "Fields of " & relNew.Name & " Relation"

With relNew.Fields!DeptID
Debug.Print " " & .Name
Debug.Print " Name = " & .Name
Debug.Print " ForeignName = " & .ForeignName
End With

Debug.Print "Indexes in " & tdfEmployees.Name & _
" TableDef"
For Each idxLoop In tdfEmployees.Indexes
Debug.Print " " & idxLoop.Name & _
", Foreign = " & idxLoop.Foreign
Next idxLoop

' Delete new objects because this is a demonstration.
.Relations.Delete relNew.Name


(...)

End With




"Stéphane Lavergne" wrote in message
news:
*Hier soir, ce message n'a apparement pas été reçu dans les news, je le
renvoie donc de nouveau*

Bonjour,

Avant le traitement de mon code, j'ai du supprimer les relations ainsi :
(db représente les bases B2, B3,...,Bn)
n = db.Relations.Count
For i = 1 To n
db.Relations.Delete db.Relations(0).Name
Next

Mais je n'arrive pas à comprendre, par manque d'exemple, comment recréer la
relation entre les tables T1 et T2 avec la commande :
Set relation = database.CreateRelation (name, table, foreigntable,
attributes)

Merci d'avance

Stéphane Lavergne





Avatar
Stéphane Lavergne
Merci Michel,

Je vais regarder ça et tester... :)

Non, bizzarement, je n'avais pas d'exemple :/

Stéphane

"Michel Walsh" a écrit dans le message de
news:%
Salut,


Le fichier d'aide ne donne rien (moi j'ai un bel exemple sous
"CreateRelation Method Example" ) ?


Je reproduis les lignes "critiques", de même que le code de mise en
confience.


Espérant être utile,
Vanderghast, Access MVP

============== >
With dbsNorthwind

(...)

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




' Print report.
Debug.Print "Properties of " & relNew.Name & _
" Relation"
Debug.Print " Table = " & relNew.Table
Debug.Print " ForeignTable = " & _
relNew.ForeignTable
Debug.Print "Fields of " & relNew.Name & " Relation"

With relNew.Fields!DeptID
Debug.Print " " & .Name
Debug.Print " Name = " & .Name
Debug.Print " ForeignName = " & .ForeignName
End With

Debug.Print "Indexes in " & tdfEmployees.Name & _
" TableDef"
For Each idxLoop In tdfEmployees.Indexes
Debug.Print " " & idxLoop.Name & _
", Foreign = " & idxLoop.Foreign
Next idxLoop

' Delete new objects because this is a demonstration.
.Relations.Delete relNew.Name


(...)

End With




"Stéphane Lavergne" wrote in message
news:
*Hier soir, ce message n'a apparement pas été reçu dans les news, je le
renvoie donc de nouveau*

Bonjour,

Avant le traitement de mon code, j'ai du supprimer les relations ainsi :
(db représente les bases B2, B3,...,Bn)
n = db.Relations.Count
For i = 1 To n
db.Relations.Delete db.Relations(0).Name
Next

Mais je n'arrive pas à comprendre, par manque d'exemple, comment recréer
la


relation entre les tables T1 et T2 avec la commande :
Set relation = database.CreateRelation (name, table, foreigntable,
attributes)

Merci d'avance

Stéphane Lavergne









Avatar
Stéphane Lavergne
Merci Michel,

Ca a très bien codé.

Stéphane

"Michel Walsh" a écrit dans le message de
news:%
Salut,


Le fichier d'aide ne donne rien (moi j'ai un bel exemple sous
"CreateRelation Method Example" ) ?


Je reproduis les lignes "critiques", de même que le code de mise en
confience.


Espérant être utile,
Vanderghast, Access MVP

============== >
With dbsNorthwind

(...)

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




' Print report.
Debug.Print "Properties of " & relNew.Name & _
" Relation"
Debug.Print " Table = " & relNew.Table
Debug.Print " ForeignTable = " & _
relNew.ForeignTable
Debug.Print "Fields of " & relNew.Name & " Relation"

With relNew.Fields!DeptID
Debug.Print " " & .Name
Debug.Print " Name = " & .Name
Debug.Print " ForeignName = " & .ForeignName
End With

Debug.Print "Indexes in " & tdfEmployees.Name & _
" TableDef"
For Each idxLoop In tdfEmployees.Indexes
Debug.Print " " & idxLoop.Name & _
", Foreign = " & idxLoop.Foreign
Next idxLoop

' Delete new objects because this is a demonstration.
.Relations.Delete relNew.Name


(...)

End With




"Stéphane Lavergne" wrote in message
news:
*Hier soir, ce message n'a apparement pas été reçu dans les news, je le
renvoie donc de nouveau*

Bonjour,

Avant le traitement de mon code, j'ai du supprimer les relations ainsi :
(db représente les bases B2, B3,...,Bn)
n = db.Relations.Count
For i = 1 To n
db.Relations.Delete db.Relations(0).Name
Next

Mais je n'arrive pas à comprendre, par manque d'exemple, comment recréer
la


relation entre les tables T1 et T2 avec la commande :
Set relation = database.CreateRelation (name, table, foreigntable,
attributes)

Merci d'avance

Stéphane Lavergne