Rétablir les relations

DAVIMIKA Messages postés 118 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 10 janvier 2014 - 6 janv. 2011 à 13:46
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 7 janv. 2011 à 21:17
Bonjour,

Je voudrais à partir de la base Frontale rétablir les relations de la base Dorsale,
Mais le code ne me rétablie que les relations de la base Frontale, et rien sur la Dorsale.

Ou se trouve mon erreur ?

Pour cerner plus facilement le problème le joins une base allégée.
http://cjoint.com/?0bgmWQXLXZa

Sub RetablirRelations(ByVal strChemin As String)
'Cette fonction rétablie les relations entre les tables
    Set WS = DBEngine.CreateWorkspace("Nouveau", "Admin", "", dbUseJet)
       Set dbDorsale = WS.OpenDatabase(strChemin)

      cpt = 0
      strsql = "Select * from [tbl Relations]"
      Set rs = dbDorsale.OpenRecordset(strsql)
      
      If Not rs.EOF Then
         cpt = cpt + 1
         rs.MoveFirst
         'Do Until rs.EOF
         While Not rs.EOF
                 Set rel = dbDorsale.CreateRelation(rs.Fields("NomRelation"), rs.Fields("TablePrincipale"), rs.Fields("TableSecondaire"), rs.Fields("relAttributes"))
                 Set myField = rel.CreateField(rs.Fields("ChampPrincipal"))
                 myField.ForeignName = rs.Fields("ChampSecondaire")
                 rel.Fields.Append myField
                 dbDorsale.Relations.Append rel
                 rs.MoveNext
        Wend
        'Loop
     End If
     
     dbDorsale.Close: Set dbDorsale = Nothing
     WS.Close: Set WS = Nothing
End Sub
Merci pour votre aide.

Salutations

3 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
6 janv. 2011 à 14:24
Bonjour,

Je ne sais pas comment faire, mais petite précision (d'après ton code) :
Tu ne travaille pas en, .NET mais en VB6, je pense (Set WS = DBEngine.Crea...)
Ensuite, tu utilises DAO, qui n'est plus maintenu par M$ depuis quelques années (DBEngine.CreateWorkspace)

Merci lors de tes prochains messages de faire attention à ce genre de renseignement.

Mon site
0
DAVIMIKA Messages postés 118 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 10 janvier 2014
6 janv. 2011 à 15:26
Bonjour NHenry,

Merci pour ta réponse,

Je suis en VBA Access, j'ai du mal à trouver le bon site,
donc si celui-ci ne correspond pas à VBA ACCES, est-ce qu'il serait possible pour quelqu'un d'avoir l'amabilité de le déplacer dans le site approprié.

Merci par avance.

Salutations
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
7 janv. 2011 à 21:17
Bonjour,

Le post aurait été mieux placé dans :
http://www.vbfrance.com/forum/theme-ADO-DAO_236.aspx
ou
http://www.vbfrance.com/forum/theme-VBA_244.aspx

Sinon, je pense que tu n'auras accès qu'aux relation directement visible, donc, je ne pense pas que tu puisse, mais je n'ai jamais eu à faire à ce cas.

Mon site
0
Rejoignez-nous