Страница: 1 |
Вопрос: Отсоединенный рекордсет | Добавлено: 27.02.03 11:48 |
Автор вопроса: ![]() |
Скажыте пожалуйста как связать у VB два отсоединенных рекордсета так штоб роботало каскадное обновление. Или это вобше не возможно зделать? |
Ответы | Всего ответов: 6 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 12 Ответов: 430 |
Профиль | Цитата | #1 | Добавлено: 27.02.03 15:07 |
В смысле связать? Ты хочешь один другому назначить источником данных ? |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 173008782 Вопросов: 29 Ответов: 23 |
Профиль | Цитата | #2 | Добавлено: 27.02.03 15:22 |
Я имею виду связь (типа связь таблиц в Access) один к многим, когда меняш значение со стороны "один" штоб автоматически изменялись даные со стороны "многие". Но нужно штобы всьо это происходило в двух отсоединенных рекордсетах. Возможно ли ? И как ? |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 4 Ответов: 27 |
Профиль | Цитата | #3 | Добавлено: 27.02.03 23:55 |
Если этих "многих" не так уж много, а у таблиц есть общий индекс (напр., ID), то проще в коде - после вызова метода Update со стороны "один", открываешь рекордсет со стороны "многие" и делаешь rs.FindFirst IDмногие =IDодин Обновляешь необходимые данные а потом rs.FindNext IDмногие =IDодин и то же обновляешь. |
Номер ответа: 4 Автор ответа: ![]() ![]() Вопросов: 10 Ответов: 105 |
Профиль | Цитата | #4 | Добавлено: 28.02.03 12:38 |
Для отбора луше пользоваться методом Filter. А потом в отфильтрованных записях сделать изменения. (Если речь идёт об ADO). |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 173008782 Вопросов: 29 Ответов: 23 |
Профиль | Цитата | #5 | Добавлено: 28.02.03 15:32 |
Я так и делаю сначала использую Filter, а потом изменяю обищий Id, но проблема не в том. Проблема в том што когда а делаю .UpdateBatch для рекорсета (табл. "один") тогда БД происходит автоматическое обновление таблицы "многие", и тогда .UpdateBatch для таблицы "многие" не роботает. Но это я решы с помощю третего рекордсета. Но тут тоже возникла проблемка когда свойство .LockType = adLockBatchOptimistic не роботает метод .Delete может кто знает как это решыть ? |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 4 Ответов: 27 |
Профиль | Цитата | #6 | Добавлено: 28.02.03 19:18 |
Мне кажется, ты сидишь между двух стульев. Используешь обновления связанных таблиц и штатными средствами БД и в коде. Я бы выбрал что-то одно: удалил бы связь между таблицами в БД и использовал ДАО как более быстрый доступ к большому количеству данных. Если предусмотреть в коде все возможные варианты изменения записей с обработкой ошибок, а их не так уж много, то межтабличная связь не очень и нужна, особенно если работа не в сети. |
Страница: 1 |
|