1 / 1 / 0
Регистрация: 26.02.2012
Сообщений: 35
|
|
1 | |
Одновременное удаление записей из "выровеннной формы" и подчиненной18.06.2012, 21:50. Показов 1285. Ответов 5
Метки нет (Все метки)
Ребятки. Помогите пожалуйста.
Условие: Есть выровненная форма + в ней подчиненная. Если говорить языком связей, основная форма имеет отношение "один ко многим" с подчиненной. Один Заказчик (основная форма) может иметь несколько туристов (подчиненная форма). Базу прикрепляю к посту. Форма "Заявка". Основные таблицы используемые в форме "Заявка" для добавления: - Заявка (всё о новом туре, связана с таблицей Заказчики: один заказчик может иметь много заявок) - Заказчик (человек покупающий тур и выступающий представителем для нескольких туристов, включая себя) - Туристы (люди которые едут в указанный тур) - ТуристыЗаявки (связующее звено, здесь ведется присвоение кодов туров для кодов туристов, со связью - один ко многим) Задача: - Оставить в базе заказчика - Оставить в базе туристов - Удалить только сведения о туре, который по каким-то причинам не состоялся. Т.е. удалить строку об этом туре в таблице "Заявка", а из таблицы "ТуристыЗаявки" удалить все строки в которых встречается это же "Код_Заявки" Не получается правильно сделать удаление. Мастер кнопок удаляет значения лишь в подчиненной форме и в зависимости от того, на какой строке стоит курсор. Пытался через запрос на удаление. Как выборка - запрос работает правильно. Как "удаление" - отказывает в этом мероприятии. Похоже из-за того, что таблицы связаны.
0
|
18.06.2012, 21:50 | |
Ответы с готовыми решениями:
5
Удаление записей из подчиненной формы в цикле на VBA Удаление записей по выделенным строкам подчиненной формы Подсчет количества записей в подчиненной форме из другой подчиненной формы Сумма из подчиненной формы, отмена записей в подчиненной форме |
7397 / 4534 / 295
Регистрация: 12.08.2011
Сообщений: 14,021
|
|
19.06.2012, 02:17 | 2 |
А почему бы несостоявшемуся туру просто не выставить статус - несостоялся? Добавьте поле со статусом в таблицу и в подчинённой форме выводите запросом все записи, кроме тех, где статус = несостоялся. И ничего удалять не надо. Зато потом сможете оценить полную картину пожеланий клиентов, популярность стран и т.д.
1
|
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
|
|
19.06.2012, 07:39 | 3 |
Prent, задайте для связи таблиц Заявка и ТуристыЗаявка каскадное удаление связанных записей.
Случайно заметил, что связь между таблицами Туристы и ТуристыЗаявка установлена неверно, должна быть один ко многим и также с каскадным удалением связанных записей. При существующей связи у вас в таб. ТуристыЗаявка могут быть записи с туристами, отсутствующими в таб. Туристы, например на данный момент, туристы с кодами 33, 34, 41.
1
|
1 / 1 / 0
Регистрация: 26.02.2012
Сообщений: 35
|
|
19.06.2012, 18:48 [ТС] | 4 |
Спасибо за идею, но для меня это будет просто лишние данные в БД. К записям по которым что-то не состоялось я обращаюсь крайне редко, так как это, обычно, отказы из-за того, что просто не получилось поехать по каким-то личным обстоятельствам.
Меня больше интересует возможность оптимизировать процесс текущий, чтоб ничего не забывать, все уделять положенное внимание и чтоб у меня была всегда вся информация по любой текущей заявке. А там вроде такая связь и стояла. Правда пришлось мне её ставить принудительно (автоматом такая связь не определялась). Спасибо за замечание! Сейчас переделал связь, поставил все галки, удалил несоответствующие пункты (33,34,41) - всё равно в форме удалить не получается: "Невозможное удаление записей из указанных таблиц", код ошибки "2950" Может как-то можно через SQL или VBA, чтоб отказаться от запросов. Чую здесь нужно рыть
0
|
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
|
|
19.06.2012, 19:08 | 5 |
Чутье вас подводит.
Вот база с подправленными, как и писал, связями. При нажатии на кнопку с крестиком внизу формы Заявка, все, что заказывали, прекрасно удаляется. P.S. Заявка с кодом 11 удалена в ходе эксперимента.
1
|
1 / 1 / 0
Регистрация: 26.02.2012
Сообщений: 35
|
|
20.06.2012, 00:05 [ТС] | 6 |
Вот спасибо!!!! Я просто жал на свой запрос на удаление
Большое спасибо за подсказку, теперь всё как нужно!
0
|
20.06.2012, 00:05 | |
20.06.2012, 00:05 | |
Помогаю со студенческими работами здесь
6
Не могу найти стандартные на VBA стандартные кнопки добавления, редактирования и удаление записей подчиненной формы Удаление нескольких записей в подчиненной форме Удаление всех записей в подчиненной форме Запрос записей из подчинённой формы Сохранение изменений/удаление записей в подчиненной таблице Копирование записей из подчиненной формы в подчиненную Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |