2010-10-18 6 views
1

J'essaie de remplacer un champ de texte par un champ de numéro, mais toute tentative d'apporter des modifications rencontre la même erreur. Apparemment, ce champ fait partie d'une relation. J'ai regardé à travers tout. La fenêtre de relation ne montre aucune connexion à ce champ. J'ai sélectionné le bouton "All Relationships" de l'émission, mais toujours rien. Une autre question similaire a déclaré que la relation a été trouvée dans un rapport, mais je n'ai pas encore créé de rapports. Je pourrais simplement tout copier dans un nouveau projet, ou même simplement supprimer et recréer la table, mais si quelqu'un peut m'aider, j'aimerais beaucoup apprendre quelque chose ici.MS Access - Suppression d'une relation impossible à trouver

Répondre

2

Vous pouvez essayer ce qui suit:

En plus de cliquer sur « toutes les relations » dans la vue de la relation, ajoutez vos tables manuellement et voir si des nouvelles relations apparaissent.

Un autre bon moyen de connaître toutes les dépendances de votre table, cliquez dessus et choisissez "Dépendances d'objet" sous Outils de base de données. Vous pourriez avoir créé des relations dans des requêtes, dans des formulaires (sources de données) et dans des rapports - il suffit de vérifier les objets dépendants.

+0

Cela ne fait pas de sens du tout. Vous ne pouvez pas créer de relations qui restreindraient le type de données d'un champ dans l'interface utilisateur Access, sauf via la fenêtre de relations. –

+0

Vous avez raison David et moi avons peut-être mal défini ma réponse. Je pensais que certains objets dépendaient toujours de la table en question, travaillant ainsi avec la vue des dépendances d'objets. Et peut-être en raison de certaines circonstances ces objets dépendants pourraient avoir un impact sur le travail avec la table d'origine. –

5

Vous pouvez utiliser VBA pour examiner la collection Relations. Je ne sais pas si cela permettra d'identifier votre relation manquante, mais il devrait être facile à trouver.

coller ce code dans un module standard, l'exécuter, et examiner la sortie dans la fenêtre Exécution:

Public Sub InspectRelations() 
    Dim rel As DAO.Relation 
    Dim fld As DAO.Field 
    For Each rel In CurrentDb.Relations 
     Debug.Print "Relationship Name: " & rel.Name 
     Debug.Print "Table: " & rel.Table 
     Debug.Print "ForeignTable: " & rel.ForeignTable 
     For Each fld In rel.Fields 
      Debug.Print "Field Name: " & fld.Name 
      Debug.Print "ForeignName: " & fld.ForeignName 
     Next fld 
     Debug.Print String(10, "-") 
    Next rel 
    Set fld = Nothing 
    Set rel = Nothing 
End Sub