Форум: "Базы";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
ВнизНесандартное отображение данных Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.036 c