Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
1 / 1 / 0
Регистрация: 26.02.2012
Сообщений: 35
1

Одновременное удаление записей из "выровеннной формы" и подчиненной

18.06.2012, 21:50. Показов 1285. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребятки. Помогите пожалуйста.
Условие:
Есть выровненная форма + в ней подчиненная.
Если говорить языком связей, основная форма имеет отношение "один ко многим" с подчиненной.
Один Заказчик (основная форма) может иметь несколько туристов (подчиненная форма).

Базу прикрепляю к посту. Форма "Заявка".

Основные таблицы используемые в форме "Заявка" для добавления:
- Заявка (всё о новом туре, связана с таблицей Заказчики: один заказчик может иметь много заявок)
- Заказчик (человек покупающий тур и выступающий представителем для нескольких туристов, включая себя)
- Туристы (люди которые едут в указанный тур)
- ТуристыЗаявки (связующее звено, здесь ведется присвоение кодов туров для кодов туристов, со связью - один ко многим)

Задача:
- Оставить в базе заказчика
- Оставить в базе туристов
- Удалить только сведения о туре, который по каким-то причинам не состоялся. Т.е. удалить строку об этом туре в таблице "Заявка", а из таблицы "ТуристыЗаявки" удалить все строки в которых встречается это же "Код_Заявки"


Не получается правильно сделать удаление.

Мастер кнопок удаляет значения лишь в подчиненной форме и в зависимости от того, на какой строке стоит курсор.

Пытался через запрос на удаление. Как выборка - запрос работает правильно. Как "удаление" - отказывает в этом мероприятии. Похоже из-за того, что таблицы связаны.
Вложения
Тип файла: rar Touristik.rar (319.1 Кб, 11 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2012, 21:50
Ответы с готовыми решениями:

Удаление записей из подчиненной формы в цикле на VBA
Здравствуйте. Есть форма, на которой имеется подчиненная форма. Организовал цикл для поиска записей...

Удаление записей по выделенным строкам подчиненной формы
Помогите пожалуйста разобраться. Имеется база, основная форма с подчиненной табличной формой, один...

Подсчет количества записей в подчиненной форме из другой подчиненной формы
Форумчане, всем привет. На форме 2 подчиненной формы. При переходе по одной отображаются данные...

Сумма из подчиненной формы, отмена записей в подчиненной форме
Нужна сразу помощь по четырем пунктам, форма КвитанцияСкупкиОбмена надо: 1. Суммирование поля...

5
Эксперт MS Access
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
Цитата Сообщение от alvk Посмотреть сообщение
А почему бы несостоявшемуся туру просто не выставить статус - несостоялся? Добавьте поле со статусом в таблицу и в подчинённой форме выводите запросом все записи, кроме тех, где статус = несостоялся. И ничего удалять не надо. Зато потом сможете оценить полную картину пожеланий клиентов, популярность стран и т.д.
Спасибо за идею, но для меня это будет просто лишние данные в БД. К записям по которым что-то не состоялось я обращаюсь крайне редко, так как это, обычно, отказы из-за того, что просто не получилось поехать по каким-то личным обстоятельствам.
Меня больше интересует возможность оптимизировать процесс текущий, чтоб ничего не забывать, все уделять положенное внимание и чтоб у меня была всегда вся информация по любой текущей заявке.


Цитата Сообщение от minob Посмотреть сообщение
Prent, задайте для связи таблиц Заявка и ТуристыЗаявка каскадное удаление связанных записей.

Случайно заметил, что связь между таблицами Туристы и ТуристыЗаявка установлена неверно, должна быть один ко многим и также с каскадным удалением связанных записей. При существующей связи у вас в таб. ТуристыЗаявка могут быть записи с туристами, отсутствующими в таб. Туристы, например на данный момент, туристы с кодами 33, 34, 41.
А там вроде такая связь и стояла. Правда пришлось мне её ставить принудительно (автоматом такая связь не определялась). Спасибо за замечание!

Сейчас переделал связь, поставил все галки, удалил несоответствующие пункты (33,34,41) - всё равно в форме удалить не получается: "Невозможное удаление записей из указанных таблиц", код ошибки "2950"


Может как-то можно через SQL или VBA, чтоб отказаться от запросов. Чую здесь нужно рыть
Миниатюры
Одновременное удаление записей из "выровеннной формы" и подчиненной  
0
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
19.06.2012, 19:08 5
Цитата Сообщение от Prent Посмотреть сообщение
Сейчас переделал связь, поставил все галки, удалил несоответствующие пункты (33,34,41) - всё равно в форме удалить не получается: "Невозможное удаление записей из указанных таблиц", код ошибки "2950". Может как-то можно через SQL или VBA, чтоб отказаться от запросов. Чую здесь нужно рыть
Чутье вас подводит.
Вот база с подправленными, как и писал, связями. При нажатии на кнопку с крестиком внизу формы Заявка, все, что заказывали, прекрасно удаляется.

P.S. Заявка с кодом 11 удалена в ходе эксперимента.
Вложения
Тип файла: rar Touristik.rar (63.4 Кб, 18 просмотров)
1
1 / 1 / 0
Регистрация: 26.02.2012
Сообщений: 35
20.06.2012, 00:05  [ТС] 6
Цитата Сообщение от minob Посмотреть сообщение
Чутье вас подводит.
Вот база с подправленными, как и писал, связями. При нажатии на кнопку с крестиком внизу формы Заявка, все, что заказывали, прекрасно удаляется.

P.S. Заявка с кодом 11 удалена в ходе эксперимента.
Вот спасибо!!!! Я просто жал на свой запрос на удаление
Большое спасибо за подсказку, теперь всё как нужно!
0
20.06.2012, 00:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.06.2012, 00:05
Помогаю со студенческими работами здесь

Не могу найти стандартные на VBA стандартные кнопки добавления, редактирования и удаление записей подчиненной формы
Не могу найти стандартные кнопки на VBA добавления, редактирования и удаление записей подчиненной...

Удаление нескольких записей в подчиненной форме
Добрый день. Есть подчиненная форма с таблицей и кнопочка в родительской форме. Выделяю...

Удаление всех записей в подчиненной форме
Друзья, все привет. Чет затупил и не получается корректно с кнопки удалить только данные которые...

Запрос записей из подчинённой формы
Здравствуйте! Подскажите пожалуйста, как запросить данные из подчинённой формы с учётом имеющейся...

Сохранение изменений/удаление записей в подчиненной таблице
Прошу помочь решить проблему. Не могу найти каким образом можно сохранить (Update) изменения в...

Копирование записей из подчиненной формы в подчиненную
Две формы, с первой формы надо поле отмеченное галочкой скопировать во вторую форму, Нашла код, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru