Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Несандартное отображение данных [D5]


Страницы:   1 2

Russel ©   (2004-08-11 11:41:00) 

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

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


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

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

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


Ega23   (2004-08-12 10:11:00) [2]

2 Russel   (12.08.04 09:54) [17]

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

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

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

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


Danilka   (2004-08-12 10:07:00) [3]

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

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


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

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


Sergey13   (2004-08-12 09:59:00) [5]

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


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

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


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

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


Ega23   (2004-08-12 09:51:00) [8]

Кошмар! :))

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


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

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


Danilka   (2004-08-12 09:47:00) [10]

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

Кошмар! :))

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


Ega23   (2004-08-12 09:46:00) [11]

Russel   (12.08.04 09:43) [11]

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


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

Rule ©   (12.08.04 09:39) [10]

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


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

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


Rule   (2004-08-12 09:39:00) [14]

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


Sergey13   (2004-08-12 09:37:00) [15]

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


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

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


Ega23   (2004-08-12 09:36:00) [17]

Russel   (12.08.04 09:30) [5]

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


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

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


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

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

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


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

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо