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