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] - это первичный ключ для строки.
- Отредактируйте исходный код динамической записи, чтобы он указывал на сгенерированное представление для подчиненной формы.