2010-10-18 70 views
1

我试图将文本字段更改为数字字段,但是,任何尝试进行更改都会遇到相同的错误。显然这个领域是一种关系的一部分。我仔细研究了一切。关系窗口显示没有连接到该字段。我选择了“All Relationships”(所有关系)按钮,但仍然没有任何结果。另一个类似的问题表明,这种关系是在一份报告中找到的,但我还没有创建任何报告。我可以将所有东西都复制到一个新项目中,甚至只是删除并重新创建一个表格,但如果有人能帮助我,我宁愿在这里学习一些东西。MS Access - 删除找不到的关系

回答

2

你可以尝试以下方法:

除了在关系视图中单击“所有关系”,手动添加表,看看有没有新的关系显示出来。

另一个很好的方式来找到你的表的所有依赖关系点击它并选择数据库工具下的“对象相关性”。您可以在查询,表单(数据源)和报表中创建关系 - 只需检查依赖对象。

+0

这没有任何意义的。除了通过关系窗口之外,您不能创建会限制Access UI中字段的数据类型的关系。 – 2010-10-19 00:32:02

+0

你是对的,大卫和我可能误解了我的答案。我在想,有些对象仍然依赖于有问题的表,因此使用对象依赖关系视图。也许由于某些情况,这些相关对象可能会影响原始表格的工作。 – 2010-10-19 13:32:27

5

您可以使用VBA来检查关系集合。我不知道它是否会确定你失去的关系,但应该很容易找到。

这段代码粘贴到一个标准模块,运行它,并查看即时窗口输出:

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