После перехода на ADP, а что с каскадным обновлением?

poiuy
Дата: 30.08.2005 18:59:01
Так было в mdb
Две таблицы: Изделия и Заказано. Поле Изделие.idИзделие(ключ) связано с полем Заказано.idИзделие.
Запрос на выборку состоит из этих двух таблиц. Выведены поля: Изделие.idИзделие, Изделие.Название,Заказано.idИзделие. Если открыть запрос в режиме таблицы, то добавляя значение в поле Заказано.idИзделие(из списка), после сохранения, обновляешь и поля Изделие.idИзделие, Изделие.Название.
так стало в adp
Представление один-в-один как упомянутый запрос. Открываю его как таблицу, добавляю значение в поле Заказано.idИзделие(из списка), пытаюсь сохранить и получаю: "Invalid object name 'db'".
Изрыл текст представления, изрыл в конструкторе обе таблицы - ну нет у меня объекта по имени 'db'!
Latuk
Дата: 30.08.2005 21:29:26
ADP-ная форма не может сама выбрать какую из двух таблиц обновлять
для этого ей неоходимо явно указать свойство UniqueTable (Однозначная таблица)

а для того чтобы результат обновления отобразился на форме
необходимо заполнить свойство ResyncCommand (Команда синхронизации)


Почитай Гетца поищи на форуме
Чумаков А.
Дата: 31.08.2005 06:51:01
2 Latuk:
Попутный вопрос: если источник данных ADP-формы включает 2 таблицы, то после открытия формы можно ли менять св-во UniqueTable ?
Иногда бывает, что надо исправлять данные или в 1 таблице, либо в другой, составляющие источник.
aleks2
Дата: 31.08.2005 06:54:04
Чумаков А.
2 Latuk:
Попутный вопрос: если источник данных ADP-формы включает 2 таблицы, то после открытия формы можно ли менять св-во UniqueTable ?
Иногда бывает, что надо исправлять данные или в 1 таблице, либо в другой, составляющие источник.


Исправлять (UPDATE) оно и так будет делать в той таблице, поля которой исправил. UniqueTable это для INSERT и DELETE указание.
--------------
Менять можно.
Latuk
Дата: 31.08.2005 09:43:08
>можно ли менять св-во UniqueTable
В принципе да но это необходимо только для Acc2000
в 2002&2003 можно менять поля любой таблицы набора
UniqueTable указывает лишь не то заначение ключевого поля какой таблицы использовать для идентификации записи
а свойство ResyncCommand так и даже удобнее иногда формировать динамически
poiuy
Дата: 31.08.2005 11:01:01
автор
ADP-ная форма не может
Так я пока не про форму, а про представление(бывший запрос на выборку в мдб). Хотя оно и является источником формы, но разве без формы, само по себе, не функционирует(как запросы на выборку)?
Latuk
Дата: 31.08.2005 11:10:47
Без формы нет
только Форма+UniqueTable+ResyncCommand
АлексейК
Дата: 31.08.2005 11:36:22
Latuk
Без формы нет
только Форма+UniqueTable+ResyncCommand


если забыть сказать представлению волшебное слово
МЕ-ТА-ДА-ТА (это у него вместо человеческого ПО-ЖА-ЛУЙ-СТА)
poiuy
Дата: 31.08.2005 11:50:16
автор
Почитай Гетца
Наверно это в первом томе было?
Указал форме UniqueTable = Заказано(как в хелпе - самая последняя табла со стороны "многие")
Чего писать в ResyncCommand не понимаю. В хелпе: "определяет инструкцию SQL или сохраненную процедуру, которая используется в обновляемом статическом наборе записей таблицы".
В смысле - указать имя Представления, которое источник этой самой формы?
Latuk
Дата: 31.08.2005 12:19:38
>Чего писать в ResyncCommand не понимаю
Это SQL запрос в кот форма передаст значения ключевых полей однозначной таблицы
а обратно он вернет одну строку с полями как в источнике формы

грубо говоря в простом случае это твой источник формы
SELECT ID,блаблабла FROM блаблабла1 WHERE блаблабла3
но с другим WHERE
SELECT ID,блаблабла FROM блаблабла1 WHERE ID=?
кот должен возвратить обновленную строку из источника

хотя на самом деле запрос может быть и другим
главное чтобы он те же поля возвращал
например вызов ХП
dbo.МояХП ?
И ключь может быть составной тогда вопросиков больше будет

Поищи на форуме - не раз обсуждалось