Access 2003 ADP + SQL сервер перенесен на 2008: данные были добавлены в базу данных, но данные не будут отображаться

Я перенес базу данных 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.

В этой статье описан обход проблемы, однако источник данных создается динамически; как только содержимое изменяется в главной форме, свойство источника записей соответственно изменяется в подчиненной форме. Есть ли способ это исправить?

1 ответ

Решение

В соответствии со статьей, на которую вы ссылаетесь, вы должны создать представление и указать источник записи для этого представления. Поскольку вы не показываете исходный код или не уточняете, что вы подразумеваете под "динамически", то лучшим вариантом будет создание представления в триггере ON INSERT, UPDATE в базе данных SQL.

  • ON INSERT, триггер UPDATE на главной таблице.
    • Создайте динамическое представление, необходимое для подчиненной формы, задав для представления стандартное имя, например vwSubForm[PKID], где [PKID] - это первичный ключ для строки.
  • Отредактируйте исходный код динамической записи, чтобы он указывал на сгенерированное представление для подчиненной формы.
Другие вопросы по тегам