Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Запрос для отображения списка доступных товаров без отобранных




Нам нужно, чтобы в списке товаров отображались только те товары, которых нет во временной таблице ОТБОР. Для этого при связывании таблиц ТОВАРЫ И ОТБОР нужно сначала, создать такой вид связи, который бы показал все товары из таблицы ТОВАРЫ и в соответствующих строках отобразил факт отбора. Это делается с помощью изменения связи. Тогда в запросе появятся пустые поля там, где товар не выбран. Останется только отфильтровать этот запрос, оставив записи с пустыми полями.

Запрос без фильтра

SpNoSelect
КодТовара Название Цена НОМЕР
  Телевизор    
  Холодильник    
  кофемолка    
  телефон Самсунг    
  Алкател телефон    

В графе НОМЕР есть пустые поля и поля с номером (который совпадает с кодом товара) – это отобранные товары.

Запрос с фильтром

SpNoSelect
КодТовара Название Цена
  Телевизор  
  кофемолка  
  телефон Самсунг  

 

Остались только те товары, которые не выбраны в список

Делается это так:

 

Создание ЗАПРОСа.

При создании запроса выберем таблицы ТОВАРЫ и ОТБОР. Свяжем таблицы между собой и изменим тип связи (правой кнопкой по связи и изменить) как показано на рисунке. Выберем поля из таблицы ТОВАРЫ, а из таблицы ОТБОР выберем поле НОМЕР, снимем галочку, чтобы не выводить и поставим условие отбора - ПУСТО (NULL). Сохраняем запрос под именем SpNoSelect.

 

Закрываем запрос и возвращаемся в форму. В свойстве списка S1 меняем имя источника строк (Вместо ТОВАРЫ выбираем SpNoSelect). Погодите радоваться, это еще не все. Список S1 после нажатия кнопки. Идем в процедуру и добавляем еще одну строчку Me.S1.Requery.

Маленький итог.

Что мы сделали для переноса записей из левого списка в правый.

  • Подготовили запрос на вставку (добавление)
  • Создали запрос для первого списка и изменили источник строк
  • Поставили кнопку.
  • В процедуре на нажатие кнопки выполнили следующие команды
Отключили вывод сообщений Выполнили запрос на добавление Обновили оба списка на форме Включили список сообщений

Возврат товара в список доступных

 

Ягодка три. Вернуть отобранный товар в список доступных товаров.

Что для этого нужно сделать физически. А просто удалить его из таблицы ОТБОР и обновить оба списка. Вот и понадобился второй управляющий запрос на УДАЛЕНИЕ.

Запрос на удаление отобранных записей

Цель запроса и есть его содержание, а именно:

УДАЛИТЬ из таблицы ОТБОР записи у которых НОМЕР=выбранному из списка S2.

Такой простой запрос можно написать и руками

DELETE * FROM ОТБОР WHERE НОМЕР=Forms!DelForm!S2

Или сделать в конструкторе

 

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





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


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


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

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

Два самых важных дня в твоей жизни: день, когда ты появился на свет, и день, когда понял, зачем. © Марк Твен
==> читать все изречения...

2216 - | 2044 -


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

Ген: 0.007 с.