Удаление записи в форме, основанной на представлении

Тыжных Иван
Дата: 05.09.2005 14:11:18
Есть форма на основе представления. Предсталение, в свою очередь, основывается на двух таблица, одна из которых главная, вторая - подчинённая. Из главной берется только наименование, из подчиненной остальные поля в том числе и ключевое поле подчиненной таблицы.

На форме стоит свойство "Однозначная таблица", в котором указано имя подчиненной таблицы.
При попытке удаления строчки в первый раз, аксес выдает ошибку "The database name component of the object qualifier must be the name of the current database"

При повторной попытке удалить строчку аксес удаляет соответствующие строки из обеих таблиц, причем при удалении из подчинённой (как показал SQL Profiler) аксес пользуется для удаления ключом подчиненной таблицы, что правильно. А вот при удалении из главной аксес указывает поле наименования, что не есть правильно.

Вот собссно и проблема.
Тыжных Иван
Дата: 05.09.2005 15:28:08
Представление было основано на таблице и ёще одном представлении, которое в свою очередь ссылалось на таблицу в другой базе.
строчка
EXEC sp_fkeys NULL, NULL, NULL, 'tab1', 'dbo', 'db2'
при выполнении, если мы находимся в базе db1, вызывает эту ошибку.

Именно такую строчку генерирует аксес перед удалением (первая попытка). После чего пилюёт на эту ошибку и удаляет всё что знает (вторая попытка).
vam911
Дата: 05.09.2005 15:40:03
Я понимаю, что не в кассу, но что такое "представление"?
АлексейК
Дата: 05.09.2005 16:02:39
это запрос на выборку данных
АлексейК
Дата: 05.09.2005 16:09:10
попробуй

1 во все таблицы включить поле timestamp c типом timestamp
2 в представление включить все первичные ключи всех таблиц и поля таймштампа
3 представление создать с опцией вьюметадата
однозначная таблица = имяпредставления

по идее должно сработать при соблюдении всех пунктов