LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Запрос на выбор...
 Запрос на выборку последней цены
 
 16.11.2014 23:53:46
Aleck_b
11 сообщения


Запрос на выборку последней цены
Здрасьте!
У меня такая проблема: есть Таблица [Материалы], в которой есть поля (Код_материала, Материал, Единица_измерения) и Таблица [Цены материалов], в которой есть поля (Код_материала, Дата, Цена). В таблице [Цены материалов] хранятся по датам цены материалов из таблицы [Материалы]. Необходимо сделать выборку, в которой были бы поля (Код_материала, Материал, Единица_измерения, Дата, Цена), причем если материал имеет несколько цен на разную дату, то отображать только одну строку с ценой, дата которой последняя, но не более текущей на компьютере. Например есть материалы:
Бор, у которого цены 05.10.2014 - 5000; 07.11.2014 - 10000; 25.11.2014 - 15000
Фреза, у которой цены 05.11.2014 - 1000; 10.11.2014 - 2000; 14.11.2014 - 3000
и дата на компьютере 15.11.2014. Надо получит такую выборку:

Материал Ед.изм Дата Цена
Бор гр 07.11.2014 10000
Фреза шт 14.11.2014 2000


Заранее спасибо.
 03.12.2014 21:40:09
Admin1
731 сообщения
1-ый


Re: Запрос на выборку последней цены
Вообще такие запросы являются трудными для SQL, т.е. они будут выполняться достаточно долго на больших таблицах. Поэтому, для быстродействия программы, лучше в таблицу цен ввести дополнительной поле-флаг, например, "Действует" для последней цены, тогда запрос не будет представлять сложности. Если же решать задачу напрямую, то тут может быть несколько вариантов. Например, использовать вложенный запрос SQL, функции dmax(), dlookup() или написать свою на VBA, где в качестве параметра функции будет использоваться Код_материала.
  Программирование  Microsoft Access. Файлы mdb и accdb  Запрос на выбор...
ПоискПоиск  Список форумовСписок форумов  
right