Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.47 MB
Время: 0.012 c
2-1124528502
paurlin
2005-08-20 13:01
2005.10.09
Заполнение Grida


9-1117475173
WandR
2005-05-30 21:46
2005.10.09
Проблема с затекстуриванием


1-1126781238
Aliv
2005-09-15 14:47
2005.10.09
установить ограничение после запятой


2-1125384067
Alavar
2005-08-30 10:41
2005.10.09
Как переменной присвоить значение конкретной ячейки БД?


6-1118907060
denisww
2005-06-16 11:31
2005.10.09
ntlm Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский