Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Кнопка для возврата в список доступных товаров




Кнопку с обратной стрелкой поставим без помощи мастера. Мы теперь умные, сами напишем процедуру. Итак: поставили кнопку, поменяли имя у кнопки (FromSelect). Рисунок на кнопке меняется вот так

 

Открыли процедуру обработки события нажатия кнопки и написали следующие строчки.

Отключили вывод сообщений

Выполнили запрос на удаление

Обновили оба списка на форме

Включили список сообщений

Получилось?

Private Sub FromSelect_Click()

DoCmd.SetWarnings False

DoCmd.OpenQuery "FromSelect"

DoCmd.SetWarnings False

Me.S1.Requery

Me.S2.Requery

End Sub.

Удаление отобранных товаров

Ягодка четыре.

Теперь, когда мы наигрались со списками, гоняя товары туда-сюда, можно попробовать выполнить главную задачу, ту из-за которой весь сыр-бор разгорелся. Удалить из таблицы ТОВАРЫ, то что попало в ОТБОР. Вот и пришла пора напрягать мозги.

Сначала сформулируем цель на родном языке.

Запрос на удаление с подчиненным запросом в условии отбора

УДАЛИТЬ все поля ИЗ таблицы ТОВАРЫ

Если в записи

КОДТОВАРА совпадает с каким-нибудь из НОМЕРов из таблицы ОТБОР.

Явно присутствует подчиненный запрос в условии отбора. Попробуем уточнить формулировку.

 

УДАЛИТЬ все поля ИЗ таблицы ТОВАРЫ

Где

КОДТОВАРА содержится (выбрать НОМЕР ИЗ таблицы ОТБОР).

И на SQL DELETE * FROM Товары where КодТовара in (select номер from отбор)

Сохраним запрос с именем DelT.

Кнопка для удаления отобранных товаров

Поставим на форму еще одну кнопку. С еще одной процедурой – близнецом.

Private Sub DelTov_Click()

DoCmd.SetWarnings False

DoCmd.OpenQuery "DelT"

DoCmd.SetWarnings False

Me.S1.Requery

Me.S2.Requery

End Sub

Очистка списка отобранных товаров

Думаете, что это все? Нет. Список отобранных товаров почистить забыли. Список –то пустой а в таблице ОТБОР остались номера. Сделаем простенький запрос на удаление всего из таблицы ОТБОР. Delete * From Отбор и сохраним его (имя ClearOtbo r).

 

Private Sub DelTov_Click()

DoCmd.SetWarnings False

 

DoCmd.OpenQuery "DelT"

DoCmd.OpenQuery "ClearOtbor"

 

DoCmd.SetWarnings False

Me.S1.Requery

Me.S2.Requery

End Sub

.

 

Форма

 

Закрытие формы

И еще одно. Если в таком состоянии закрыть форму, то список отобранных товаров останется. Для очистки списка запустим запрос на очистку ClearOtbor в процедуре на событие ЗАКРЫТИЕ ФОРМЫ. Для этого в свойствах формы найдем событие ЗАКРЫТИЕ

и откроем процедуру. Напишем в ней 3 строчки

 

Private Sub Form_Close()

DoCmd.SetWarnings False

 

DoCmd.OpenQuery " ClearOtbor "

 

DoCmd.SetWarnings False

End Sub





Поделиться с друзьями:


Дата добавления: 2017-02-25; Мы поможем в написании ваших работ!; просмотров: 285 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Что разум человека может постигнуть и во что он может поверить, того он способен достичь © Наполеон Хилл
==> читать все изречения...

2456 - | 2270 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.