J'aimerais savoir s'il existe un moyen d'exporter les relations d'une base
de données
en vue de les importer dans une autre base pour ne pas avoir à les ressaisir
et refaire la mise en forme.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
LR
Bonjour,
Je ne connais pas de moyen de le faire directement avec Access, mais voici un bout de code DAO qui pourrait t'aider ou t'inspirer :
Il importe les relations de la base extérieure (c:BaseInitiale.mdb pour l'exemple) dans la base en cours... Le "On error resume next "sert à éviter les problèmes en cas de relation déjà existante ou de table qui ne correspondent pas entre la source et la base en cours...
Public Sub ImpRel()
Dim dbext As DAO.Database Dim db As DAO.Database
Dim relsext As DAO.Relations Dim rels As DAO.Relations
Dim relext As DAO.Relation Dim rel As DAO.Relation
Dim fdext As DAO.Field Dim fd As DAO.Field
Dim fds As DAO.Fields
Set db = CurrentDb Set dbext = OpenDatabase("c:BaseInitiale.mdb")
Set relsext = dbext.Relations Set rels = db.Relations
On Error Resume Next
For Each relext In relsext
Set rel = db.CreateRelation(relext.Name, relext.Table, relext.ForeignTable, relext.Attributes)
Set fds = rel.Fields
For Each fdext In relext.Fields Set fd = rel.CreateField(fdext.Name) fd.ForeignName = fdext.ForeignName Next fdext
fds.Append fd rels.Append rel
Next relext
dbext.Close Set db = Nothing
End Sub
Bonjour,
J'aimerais savoir s'il existe un moyen d'exporter les relations d'une base de données en vue de les importer dans une autre base pour ne pas avoir à les ressaisir et refaire la mise en forme.
Merci d'avance pour vos réponses.
Cordialement, Patrick EVEN
Bonjour,
Je ne connais pas de moyen de le faire directement avec Access,
mais voici un bout de code DAO qui pourrait t'aider ou t'inspirer :
Il importe les relations de la base extérieure (c:BaseInitiale.mdb pour
l'exemple) dans la base en cours...
Le "On error resume next "sert à éviter les problèmes en cas de relation
déjà existante ou de table qui ne correspondent pas entre la source et la
base en cours...
Public Sub ImpRel()
Dim dbext As DAO.Database
Dim db As DAO.Database
Dim relsext As DAO.Relations
Dim rels As DAO.Relations
Dim relext As DAO.Relation
Dim rel As DAO.Relation
Dim fdext As DAO.Field
Dim fd As DAO.Field
Dim fds As DAO.Fields
Set db = CurrentDb
Set dbext = OpenDatabase("c:BaseInitiale.mdb")
Set relsext = dbext.Relations
Set rels = db.Relations
On Error Resume Next
For Each relext In relsext
Set rel = db.CreateRelation(relext.Name, relext.Table,
relext.ForeignTable, relext.Attributes)
Set fds = rel.Fields
For Each fdext In relext.Fields
Set fd = rel.CreateField(fdext.Name)
fd.ForeignName = fdext.ForeignName
Next fdext
fds.Append fd
rels.Append rel
Next relext
dbext.Close
Set db = Nothing
End Sub
Bonjour,
J'aimerais savoir s'il existe un moyen d'exporter les relations d'une base
de données
en vue de les importer dans une autre base pour ne pas avoir à les ressaisir
et refaire la mise en forme.
Je ne connais pas de moyen de le faire directement avec Access, mais voici un bout de code DAO qui pourrait t'aider ou t'inspirer :
Il importe les relations de la base extérieure (c:BaseInitiale.mdb pour l'exemple) dans la base en cours... Le "On error resume next "sert à éviter les problèmes en cas de relation déjà existante ou de table qui ne correspondent pas entre la source et la base en cours...
Public Sub ImpRel()
Dim dbext As DAO.Database Dim db As DAO.Database
Dim relsext As DAO.Relations Dim rels As DAO.Relations
Dim relext As DAO.Relation Dim rel As DAO.Relation
Dim fdext As DAO.Field Dim fd As DAO.Field
Dim fds As DAO.Fields
Set db = CurrentDb Set dbext = OpenDatabase("c:BaseInitiale.mdb")
Set relsext = dbext.Relations Set rels = db.Relations
On Error Resume Next
For Each relext In relsext
Set rel = db.CreateRelation(relext.Name, relext.Table, relext.ForeignTable, relext.Attributes)
Set fds = rel.Fields
For Each fdext In relext.Fields Set fd = rel.CreateField(fdext.Name) fd.ForeignName = fdext.ForeignName Next fdext
fds.Append fd rels.Append rel
Next relext
dbext.Close Set db = Nothing
End Sub
Bonjour,
J'aimerais savoir s'il existe un moyen d'exporter les relations d'une base de données en vue de les importer dans une autre base pour ne pas avoir à les ressaisir et refaire la mise en forme.