我有一个 Access 2003 数据库,它使用一个主窗体和一个子窗体中的数据表。主窗体允许用户从更新子窗体的记录源的菜单中进行选择。子表单还会根据表单记录源中的字段数量和类型更新可编辑的字段数量和类型。它基本上是一个动态数据表生成器。这在 Access 2003 中工作得很好,并且已经好几年了。如果我在 Access 2007(完整或运行时)中打开相同的数据库,则大多数菜单选择都有效。但是,如果我选择引用一个特定表的任何菜单选项,子表单会显示列标题,但不会显示任何数据行或显示任何错误。就好像查询返回零行一样。为什么 Access 2007 会有所不同?他们是否添加了新的保留字?
我尝试过的事情:
- 更新表中的每个字段以确保没有空值(无变化)
- 重命名每个字段和表名,以防有新的保留字(无变化)
- 前后端压实修复(无变化)
- 尝试一一包含和排除字段以查看是否有任何变化(没有变化)
- 将表单的记录源放入新查询中。(它返回了预期的行数)
- 检查以确保表单未设置为数据输入模式。(它不是)
- 检查以确保没有在代码中应用过滤器。(没有)
- 检查以确保查询在 Access 2007 中是可更新的。(它是)
- 从源表中选择性地删除数据块。(不用找了)
我难住了。