1

我已将 SQL Server 2000 数据库迁移到 SQL Express 2008。重新分配角色和权限后,它似乎可以工作,但是在向子表单添加新记录时,在表单(+子表单)中,会给出以下错误消息,尽管记录是仍然添加到基础表中:

The data was added to the database but the data won't be displayed in the form because it doesn't satisfy the criteria in the underlying record source.

此处的文章描述了该问题的解决方法,但是记录源是动态创建的;一旦主窗体中的内容发生变化,记录源属性将在子窗体中相应更改。有没有办法解决这个问题?

4

1 回答 1

0

根据您链接的文章,您必须创建一个视图并将记录源指向该视图。由于您不显示源代码,或详细说明“动态”的含义,因此最好的建议是在 SQL 数据库中的 ON INSERT、UPDATE 触发器中创建视图。

  • ON INSERT, UPDATE 在主表上触发。
    • 为子表单生成所需的动态视图,为视图提供标准名称,例如 vwSubForm[PKID],其中 [PKID] 是行的主键。
  • 编辑您的动态记录源代码以指向为子表单生成的视图。
于 2013-03-18T13:54:10.923 回答