Страница 1 из 1
Помогите подобрать алгоритм заполнения ListView
Добавлено:
05.09.2008 (Пт) 13:43
kibernetics
Есть данные в таком виде:
- Код: Выделить всё
ID Name SkladID CountOnStock
1 Труба Wavin 32 250мм 1 100
1 Труба Wavin 32 250мм 2 4
4 Труба Wavin 32 2м 2 10
4 Труба Wavin 32 2м 1 33
8 Сверло SDS 5/110 2 10
9 Лезвие Stenley узкое 1 76
и нужно продумать, как ими наполнить листвью, чтобы на выходе получилось:
- Код: Выделить всё
Наименование Склад1 Склад2
Труба Wavin 32 250мм 100 4
Труба Wavin 32 2м 33 10
Сверло SDS 5/110 0 10
Лезвие Stenley узкое 76 0
единственное, что пока на ум приходит, так это проверять, есть ли в листвью такой товар(id) уже или нет ещё
может, кто подскажет уже проверенный способ?
Re: Помогите подобрать алгоритм заполнения ListView
Добавлено:
05.09.2008 (Пт) 13:56
alibek
Данные где? В базе данных?
Re: Помогите подобрать алгоритм заполнения ListView
Добавлено:
05.09.2008 (Пт) 14:27
kibernetics
Да, получаю рекордсет...
Re: Помогите подобрать алгоритм заполнения ListView
Добавлено:
05.09.2008 (Пт) 14:50
alibek
В Access это называется "перекрестный запрос".
В других СУБД нет специальных конструкций SQL для такого запроса, но есть стандартные решения.
Re: Помогите подобрать алгоритм заполнения ListView
Добавлено:
05.09.2008 (Пт) 15:00
kibernetics
так мне не запрос нужен,
а заполнение листвьюхи...
запрос же уже есть, данные-то я получаю...
Re: Помогите подобрать алгоритм заполнения ListView
Добавлено:
05.09.2008 (Пт) 15:04
alibek
Это глупо, заполнять ListView подобным образом.
Правильным является сразу получить данные в нужном виде (запросом).
В крайнем случае предварительно обработать полученные данные (сгруппировать по ID) и только потом загружать.
Re: Помогите подобрать алгоритм заполнения ListView
Добавлено:
05.09.2008 (Пт) 15:21
kibernetics
Дело в том, что, в последствии складов может стать больше, например, 10 или 20...
как в таком случае быть, если неизвестно колво складов
Re: Помогите подобрать алгоритм заполнения ListView
Добавлено:
05.09.2008 (Пт) 15:32
alibek
И что с того? В перекрестном запросе может быть любое число таких столбцов.
Re: Помогите подобрать алгоритм заполнения ListView
Добавлено:
05.09.2008 (Пт) 17:17
kibernetics
alibek так может покажешь примерчик перекрёстка такого?
Re: Помогите подобрать алгоритм заполнения ListView
Добавлено:
05.09.2008 (Пт) 22:22
alibek
- Код: Выделить всё
TRANSFORM SUM([CountOnStock]) AS [Counter]
SELECT ID, Name
FROM ...
GROUP BY ID, Name
PIVOT SkladID;
Re: Помогите подобрать алгоритм заполнения ListView
Добавлено:
08.09.2008 (Пн) 17:25
kibernetics
alibek писал(а):- Код: Выделить всё
TRANSFORM SUM([CountOnStock]) AS [Counter]
SELECT ID, Name
FROM ...
GROUP BY ID, Name
PIVOT SkladID;
так, погоди, это ж вроде получается общая сумма товаров на каждом из складов?
Re: Помогите подобрать алгоритм заполнения ListView
Добавлено:
15.09.2008 (Пн) 13:34
alibek
Ты вначале проверь этот код.
Re: Помогите подобрать алгоритм заполнения ListView
Добавлено:
19.09.2008 (Пт) 9:16
kibernetics
Привет, alibek!
Да, конечно, код я естественно проверил.
но он мне возвращает общую сумму всего товара на каждом из складов.
Может я поля неправильно подставил
Re: Помогите подобрать алгоритм заполнения ListView
Добавлено:
19.09.2008 (Пт) 9:50
alibek
Этот запрос возвращает именно такую таблицу, которую ты запрашивал в первом сообщении. Количество по каждому товару и по каждому складу.
Работать он будет, разумеется, только в Access.