Access应用程序与SQL后端消隐表单详细信息



我有一个古老的Access应用程序,我最近使用SQL Server迁移助手将数据移动到SQL后端,除了一个问题外,几乎所有东西都在工作。

在应用程序中,我们有一个表单,其中包含另一个表单。外部表单查找输入到系统中的特定"问题",然后查找与此问题关联的历史记录(内部表单)。如果存在历史记录,那么它工作得很好,因为该记录以嵌入的形式显示得很好。但是,如果数据库中还没有历史记录,则嵌入表单的整个详细信息部分将完全清空。属性的设置与纯Access数据库时完全相同,但现在我已将其切换为使用"链接表"从SQL中提取,当我没有可从中提取的记录时,表单现在为空。

编辑:我了解到,当两者都满足时,有两个条件会导致表单的详细信息窗格变为空白:(1)没有要显示的现有记录,以及(2)无法添加新记录。

这意味着第二个条件就是我的问题所在。我尝试滚动到Access中每个链接表的底部,对于历史记录表,我无法添加任何新行,但对于问题表,我可以添加。由于某种原因,有些东西使我无法编辑这张表。

我认为您所描述的行为可能发生在子窗体(您的"内部窗体")的记录源为只读时。如果存在匹配的行,则会显示这些行。但是,如果不存在匹配的行,则无法添加行,因此子窗体的绑定数据控件将被禁用。

在设计视图中打开子窗体。选择窗体并打开其属性表(Alt+Enter)。在属性表的"数据"选项卡上查找"记录源"属性。如果属性值是SELECT语句,请将其复制到新Access查询的SQL视图中,然后将查询切换到数据表视图。如果属性是表或已保存查询的名称,请直接在"数据表视图"中打开该对象。

在"数据表视图"中打开窗体的记录源后,是否可以添加行?如果没有,请确保SQL Server用户对数据源具有INSERT权限。但是,即使具有INSERT权限,如果Access无法识别唯一标识每一行的字段或字段组合,它也可能将数据源链接为只读。如果是这种情况,您可能需要重新链接该表,并告诉Access要使用哪个字段作为主键。

最新更新