Форум: "Базы";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];
ВнизCrossTable + Редактирование Найти похожие ветки
← →
Silver... © (2005-08-12 21:19) [0]Есть нёбходимость сделать следующее:
имеется таблица: [Name, Date, Plan]
Name1 | 01.08.2005 | 6
Name2 | 01.08.2005 | 5
Name3 | 01.08.2005 | 4
Name2 | 02.08.2005 | 6.5
Name1 | 02.08.2005 | 10
Name3 | 02.08.2005 | 5
Надо бы ето дело показать на екран в DBGrid, в следующем виде
--------------------------------------------------------------------------------------------------------
Name | Пнд. | Бт. | Ср. | Чтв. | Птн. | Субб. | Вс. |
| 01.08 | 02.08 | 03.08 | 04.08 | 05.08 | 06.08 | 07.08 |
--------------------------------------------------------------------------------------------------------
Name1 | 6 | 10
Name2 | 5 | 6.5
Name3 | 4 | 5
--------------------------------------------------------------------------------------------------------
но не только показать но и моч РЕДАКТИРОВАТЬ прямо в DBGrid-е
Вобщем мне удалось "запихнуть" данные в DBGrid так:
TRANSFORM FIRST(Plan) AS Plan
SELECT Name FROM Table1 GROUP BY Name
PIVOT Date
но редактировать не могу. Неужели придется ручками ловить когда
User в DBGrid-е чего нибуди изменил, чтоб в базе поменять.
Есть более удобный/легкий подход?
← →
Silver... © (2005-08-19 16:52) [1]Интересно нокому не приходилось это делать. Или те кто с этим возился не хочет делиться опытом :)
← →
Silver... © (2005-08-19 19:31) [2]Ни у кого предложении нет. Даже вопросов по утичнению (видимо очень правильно вопрос задал).
Или просто игнорируют. Хоть пошлите для приличия :(
PS. Стою у начала не хотел бы в неправельном направлении копать, велосипед изобретать... Хоть пару мыслей мне помогут выбрать направление куды копать
← →
sniknik © (2005-08-19 20:25) [3]запросы с групировкой дают ридонли рекордсет. от того что его "транспонировали" ничего не поменяется.
← →
Silver... © (2005-08-20 17:33) [4]
> sniknik © (19.08.05 20:25) [3]
Если честно не совсем тебя понял
Надо не только показать но и моч РЕДАКТИРОВАТЬ прямо в DBGrid-е
Редактировать не могу, точнее могу но не сохраняются в базе.
ВОПРОС: Надо по любому ручками ловить когда
User в DBGrid-е чего нибуди изменил, и ето дело в базе поменять через SQL (или даже чрез DataSet, не ето интересует).
Акцент в вопросе на:
Надо по любому ручками ловить и менять (опятьтаки ручками) или есть более удобный/легкий подход/компонент/алгоритм/идея?
← →
Silver... © (2005-08-20 17:41) [5]перечитал ответ и улыбнулся
> sniknik © (19.08.05 20:25) [3]
> запросы с групировкой дают ридонли рекордсет
ридонли = ReadOnly
:((
теперь понял
PS. Скажи мне: по любому ручками? чтоб успокоился (нет охота велосипед изобретать :))
← →
sniknik © (2005-08-20 20:26) [6]> Скажи мне: по любому ручками?
ну если сможеш...
обычна групировка означает вычисление значений в группе (первое/среднее/сумма)... и если ты сможеш сумму разложить на составляюшие, и плюс адресовать их по двум значениям... и оба поля по которым адресация могут повторятся... (нет однозначности).
в общем флаг тебе в руки! ;о)) (возможно у тебя частный случай. пока... но добавь еще строчку к примеру, например такую
Name1 | 01.08.2005 | 8
и посмотри, что получится, и как раскладывать.)
← →
аматор © (2005-08-20 22:33) [7]Доброго времени суток, скажи, а можно групировать но при желании юзверя редактировать (вставить, удалить) выводить разбитую запись в отдельном окне ??? Посредством запроса конечно. И тогда, наверное станет всё проще, а может и наоборот).
(Может глупо но попытаться можна)...
← →
Silver... © (2005-08-24 14:29) [8]
> (возможно у тебя частный случай. пока... но добавь еще строчку
> к примеру, например такую
> Name1 | 01.08.2005 | 8
> и посмотри, что получится, и как раскладывать.)
Понял... требуется разяснение.
Если редактируется что-нибудь не имеет значние куда пропишу:
Name1 | 01.08.2005 | 6
Name2 | 01.08.2005 | 5
Name2 | 02.08.2005 | 6.5
Name1 | 01.08.2005 | 3
| 01.08.2005 | 02.08.2005 |
Name1 | 9 | |
Name2 | 5 | 6.5 |
если я поменяю 9 на 19 то могу в база в тринтипе сотворить след.:
Name1 | 01.08.2005 | 0
Name2 | 01.08.2005 | 5
Name2 | 02.08.2005 | 6.5
Name1 | 01.08.2005 | 19
или вобше удалить одну из двух делауы GROUP потому что такои синтаксис у TRANSFORM а сумму (скажем) на всякий случаи (вместо FIRST(...))
← →
Silver... © (2005-08-24 18:36) [9]Бобчем дела обстоят так:
Одному человеку, одной дате может соответствоовать только одно значение PLAN
вторая строчка как в
> sniknik © (20.08.05 20:26) [6]
...
> Name1 | 01.08.2005 | 8
не должна быть. Может быть только по ошибки или кто знает может далее у заказчика новые идеи вознкнут. Но пока не планируются (в любом случае в данном случае, будет сохраняться только одна запись (первая) с общим значнием PLAN)
Опустим возможный случай оговореный
> sniknik © (20.08.05 20:26) [6]
Я так понимаю ручками не только ряльно, а дотолько ручками и можно.
Вобщем решением данной задачи планирую начать на след. недели до тех пор принимаю идеи если имеются (ЛЮБЫЕ соображения пересмотрю)
Спасибо.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.012 c