Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.05;
Скачать: CL | DM;

Вниз

Несандартное отображение данных   Найти похожие ветки 

 
Russel   (2004-08-11 11:41) [0]

Добрый день всем.
Сложно эту проблему описать кратко, но все-таки попробую...
В БД есть много табличек. Нас интересуют две: заказы и продкция.
в первой содержится информация о заказах, во второй - о продукции. Связаны они кодом продукции.
Нужно отображать таблице примерно так:
             заказ_1   заказ_2 ...  заказ_n
____________________________________________
продукция 1     0          2            0  
продукция 2     5          2            0
...
продукция n     1          2            1
____________________________________________
цифры - заказанное количество.

Проблема в том, что количество заказов постоянно меняется.
И sql тут не подходит вроде бы.
Собственно вопрос: с помощью чего можно изловчиться, чобы отображать это как требуется?
Если что не понятно в вопросе, огу объяснить подробнее.
Заранее спасибо.


 
stas_x   (2004-08-11 12:06) [1]

Перекрестный запрос должен помочь !
Как его сделать зависит от СУБД.


 
Sergey13 ©   (2004-08-11 12:13) [2]

2Russel   (11.08.04 11:41)
ИМХО.
Это не нестандартное отображение, а стандартно неправильное отображение. Это удобно когда по горизонтали конечное (и не очень большое) число элементов. Например дни месяца. Раз заказов до фига, то прикинь во что выльется такой показ.


 
Sergey13 ©   (2004-08-11 18:02) [3]

2Russel   (11.08.04 11:41)
А че по почте то? Я ее и смотрю то редко. Не надо. Тем более, что я не Оракул Дельфийский, и говорю не истину в последней инстанции (иногда 8-).

>Какое отображение тогда будет правильным? Заказов может быть, скажем,
до сотни. Продукции - больше. Показать это можно. Главное, как получить
данные дл такого показа?

А зачем смешивать бульдога и носорога? Это две разных аналитики (или что там у тебя). Первый по продукции, второй по заказам. Показать можно много чего. Главное что с этим показом делать. Или у тебя проекционный телевизор вместо монитора? 8-)


 
Мастер ©   (2004-08-11 18:07) [4]

>Russel   (11.08.04 11:41)  
Посмотри в сторону Decision Cube.


 
Russel   (2004-08-12 09:30) [5]

2Sergey13:
>Это две разных аналитики (или что там у тебя). Первый по продукции, второй по заказам. Показать можно много чего. Главное что с этим показом делать. Или у тебя проекционный телевизор вместо монитора? 8-)

Нет, монитор :) Но можно показать одновременно, скажем, 10 заказов. Или 5. Чтоб на экран влезали. Но как показать? Запрос, или что еще? Я в ступоре что-то :(


 
Соловьев ©   (2004-08-12 09:36) [6]

http://www.delphikingdom.com/asp/viewitem.asp?UrlItem=/treasury/nxdbgrid.htm


 
Ega23 ©   (2004-08-12 09:36) [7]

Russel   (12.08.04 09:30) [5]

СУБД какая? Для MS SQL я такую фигню как-то раз делал, правда крови мне это стоило...


 
Russel   (2004-08-12 09:37) [8]

2Мастер:
Слыхал я про Decision Cube. Проблема в том, что он только под BDE, как я понял. Мне это не подходит. Но на вский случай брось, если можешь, ссылок, где про него почитать можно. Спасибо.


 
Sergey13 ©   (2004-08-12 09:37) [9]

2[5] Russel   (12.08.04 09:30)
>Запрос, или что еще?
Насколько я слышал Аксес может делать крос-запросы или как там они называются. Фаст репорт может делать крос-отчеты. Но по большому счету это все может приемлемо работать только на небольшом объеме данных. ИМХО. Делать можно и ручками - вложенными циклами заполняя нечто вроде RxMemoryData (я так делал) или нечто похожее. Но не советую. Лучше 2 читаемых отчета чем один нечитаемый.


 
Rule ©   (2004-08-12 09:39) [10]

А я бы координалонь не так сделал, я бы просто вывел в одной таблице список заказов, а во второй тот товар который был заказан и количество, естественно эти 2 таблицы связаны мастер-детайлом, причем главная таблица - это таблица с заказами а подчиненная - это таблица с товарами в данном заказе, вот и все, чего велосипед то придумывать ...
И отчеты таким образом строить и нагляднее намного


 
Russel   (2004-08-12 09:43) [11]

Постараюсь кратенько ответить всем.
СУБД у меня DBISAM.
Отчеты тут не подходят - надо предоставить воможность юзеру и вносить данные - сколько продукции по какому заказу отгрузить.


 
Ega23 ©   (2004-08-12 09:43) [12]

Rule ©   (12.08.04 09:39) [10]

Я бы тоже так сделал, но заказчик ТРЕБОВАЛ именно так, причём с возможностью редактирования количества товара в каждой ячейке с последующим сохранением в базу.


 
Ega23 ©   (2004-08-12 09:46) [13]

Russel   (12.08.04 09:43) [11]

Я делал так: на клиенте делал подзапрос - сколько заказов за такой-то день. Дальше генерил динамический запрос, объединяя данные через JOIN, потом его на сервер.


 
Danilka ©   (2004-08-12 09:47) [14]

[11] Russel   (12.08.04 09:43)
[12] Ega23 ©   (12.08.04 09:43)

Кошмар! :))

Ну, тогда, как вариант, сделать простой запрос с тремя колонками: продукция, заказ и количество, результат запроса вставить в StringGrid или его наследника.


 
Russel   (2004-08-12 09:48) [15]

Вот именно.
У юзера уже есть нечто, что кое-как это все делает на Excel"e.
И есть требование, чтоб интерфейс был почти такой же :(((


 
Ega23 ©   (2004-08-12 09:51) [16]

Кошмар! :))

Угу. Когда товаров ~2500 и заказов около 100 в день. Вот и получается выборка 100х2500...


 
Russel   (2004-08-12 09:54) [17]

[13] Ega23
А редактирование как делал? Потому что мне именно такое и надо...
Ну и морока с этим делом :(


 
Russel   (2004-08-12 09:59) [18]

Ну, товаров у меня около 1000, заказов поменьше - 5-10 в день... Т.е. выборка поменьше будет. Но легче на душе от этого не становится :)


 
Sergey13 ©   (2004-08-12 09:59) [19]

2[17] Russel   (12.08.04 09:54)
Сажи начальству что для нормальной работы по такой схеме надо сервак штук за 20 баксов и сетку гигабитную. Но ты сможешь сделать немного по другому, но на текущей конфигурации. 8-)


 
Russel   (2004-08-12 10:06) [20]

:)))
Начальство платит за то, чтобы работало как хочется юзерам и на существующем оборудовании... Но может стоит с юзерами побеседовать...
Спасибо за помощь. Буду осмысливать и пробовать :)


 
Danilka ©   (2004-08-12 10:07) [21]

[16] Ega23 ©   (12.08.04 09:51)
Мда..

Все-таки, думаю, наиболее правильное - стандартное решение: [10] Rule ©   (12.08.04 09:39)
Но, конечно, тут основная проблема заказчику мозги вправить, который привык к экселю.


 
Ega23 ©   (2004-08-12 10:11) [22]

2 Russel   (12.08.04 09:54) [17]

Редактирование - в ClientDataSet, вычислял, какая ячейка изменилась, помечал её для изменения; потом по всем помеченным прогонял процедуру апдейта...

В общем, ничего хорошего...

2 Danilka ©   (12.08.04 10:07) [21]

Конечно это наиболее правильное решение. Заказчику я пытался объяснить, что выборка будет очень долгой, редактирование неудобным  и т.п. В общем проявил чудеса дипломатии, но тщенто: "Пусть долго, зато привычно."


 
Russel   (2004-08-12 10:22) [23]

2Ega23 ©   (12.08.04 10:11) [22]
Нда. Ладно, буду сражаться, авось, удастся юзеров переубедить...

2All. Спасибо за помощь. Удачи :)



Страницы: 1 вся ветка

Текущий архив: 2004.09.05;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.048 c
14-1092847934
Undert
2004-08-18 20:52
2004.09.05
Встреча


3-1092029381
Fynjy
2004-08-09 09:29
2004.09.05
ADOCommand


3-1092032923
lamer_delpheneok
2004-08-09 10:28
2004.09.05
Тупой вопрос наверное, как заполнить dbcombobox ???


1-1093019041
Ragazor
2004-08-20 20:24
2004.09.05
Чтение файла, Pos(x,y,z)


14-1092725104
CRACKISH
2004-08-17 10:45
2004.09.05
ADO?