未在设计视图中显示的字段

时间:2016-05-16 10:35:31

标签: ms-access field ms-access-2003 corruption

我正在使用Access 2003数据库,分为前端和后端。我试图压缩和修复数据库,这似乎什么都不做。

在运行各种导出过程后,我注意到一些报告为已转移的列似乎与设计视图中显示的内容不符。

Public Sub Test()

    Dim db As Database
    Dim td As TableDef
    Dim f As field
    Set db = CurrentDb
    Set td = db.TableDefs("TBL tablename")

    For Each f In td.Fields
        Debug.Print f.Name
        Debug.Print f.Properties("ColumnHidden").value
    Next f

    Set f = Nothing
    Set td = Nothing
    Set db = Nothing

End Sub

进一步测试确定该表实际上有几个字段,其中一些是复制字段(数据库先前已被复制,但现在不再复制)。更重要的是,一些字段是必需的数据字段,包含项目所需的数据。

我对此有一些疑问:

  • 背景中是否有设置允许隐藏字段 在设计视图中
  • 如果没有,这是否是腐败的良好指标?

更新

我通过编写查询来进一步测试该理论以将数据拉回来,这也很好:

Query Design Grid

Results

......和桌子设计......

Table design

更新(06/06/2016)

我编写了一个从数据库中提取尽可能多的数据并将其放入新数据库的过程。虽然我不认为Microsoft Access是这个应用程序的合适平台,但目前它已经足够了。将来,我将尝试将其移至SQL Server以稳定其操作,但与此同时它必须按原样运行。

我发布了用于执行此操作的解决方案here

1 个答案:

答案 0 :(得分:0)

我将接受这个数据库已损坏的事实。有太多问题沸腾了,包括:

  • 缺少表格中的字段
  • 不复制到其他数据库的表
  • 无法压缩和修复数据库(C& R会立即返回而不做任何事情)
  • 无法删除应用于数据库的复制