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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.098 c
1-1127207851
Курдль
2005-09-20 13:17
2005.10.09
Как наиболее изящно отловить WM_MOUSEWHEEL?


9-1117763063
Slavikk
2005-06-03 05:44
2005.10.09
GLScene и OpenGL


3-1125136968
strela
2005-08-27 14:02
2005.10.09
Сортировка текстовых записей в DBGrid


5-1101732785
Student2
2004-11-29 15:53
2005.10.09
Включение TTimer


14-1127229688
Андрей Жук
2005-09-20 19:21
2005.10.09
Объявлены организаторы похищения и убийства Г.Гонгадзе