![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сделать в Query неБазовое поле
lightix © (2003-05-07 10:03:00)Как сделать в Query неБазовое поле (типа как вычисляемое, но чтобы пользователь мог менять его значение)?
Соловьев (2003-05-07 11:08:00) [21]
> Не хотят они выбирать... а проверка на наличие в справочнике
> должна быть...
геморой конечно... у меня тоже юзеры попорченные...:))
я думаю может тогда сделать так: вычислить поле, onCalcField
и присвоить значение Edit пусть себе юзеры редактят. А потом перед сохранением бей на части(вот тут геморой и начинается) и исчи в справочниках... ИМХО, геморой обеспечен... Что хоть за хадача? може структура БД неверна?
Sergey13 (2003-05-07 11:08:00) [22]2lightix (07.05.03 11:01)
>kt_perem это не поле а таблица
Сори, не то скопировал. Хотел podr.
>Так что делать-то, посоветуйте?
Читай выше. Много насоветовали уже. 8-)
Юзер - он не клиент, и потому не всегда прав.
Anatoly Podgoretsky (2003-05-07 11:05:00) [23]После изменения по определению поле должно снова вычислиться и вся работа насмарку, иначе поле не вычисляемое, в этом и весь парадокс.
passm © (07.05.03 10:18)
Ты знаешь слово Парадокс это не только база данных такого типа.
lightix (2003-05-07 11:01:00) [24]2Соловьев:
Не хотят они выбирать... а проверка на наличие в справочнике должна быть...
2Sergey13:
Оракл+NCOCI8
kt_perem это не поле а таблица.
Кеширование на Query включил, не помогло...
Так что делать-то, посоветуйте?
Sergey13 (2003-05-07 11:01:00) [25]2lightix (07.05.03 10:52)
Соловьев © (07.05.03 10:55) прав.
А уж если хочется именно так, то поставь рядышком 2 дбедита и будет юзерам счастье. 8-)
Zacho (2003-05-07 10:58:00) [26]
> lightix (07.05.03 10:40)
> Редактироваться оно то редактируется, но когда перехожу
> на любое другое поле, оно чистится :(((
CachedUpdates:=true - и все изменения в этом поле будут сохраняться. Не забудь в нужном месте сделать ApplyUpdates. Еще тебе могут пригодиться события TField.OnGetText и TFiled.OnSetText
Соловьев (2003-05-07 10:55:00) [27]
> некоторых программах юзера не хотят вводить их в отдельных
> полях, хочет в одном как 0102
прямой путь к недостоверным данным. Юзеры не должны их вводить, а выбирать из справочника.
lightix (2003-05-07 10:52:00) [28]В таблице в отдельных полях хранится NOTD -номер отдела
и NGRP - номер группы
например 01 и 02
в некоторых программах юзера не хотят вводить их в отдельных полях, хочет в одном как 0102, а в других программах наоборот вот и приходится извращаться ....
Sergey13 (2003-05-07 10:49:00) [29]2lightix (07.05.03 10:40)
Судя по запросу Оракл+ДОА, я прав?
Так он тебе не даст редактировать, потому что в таблице нет такого поля kt_perem.
Danilka (2003-05-07 10:45:00) [30]lightix
а для чего это может понадобиться, если не секрет? просо, не могу прдставить такой ситуации
lightix (2003-05-07 10:40:00) [31]Написал так:
select t.*,t.rowid,cast(null as varchar2(4)) as podr from kt_perem as t
where nvl(prz,0)=0
and tabn=:TABN
Редактироваться оно то редактируется, но когда перехожу на любое другое поле, оно чистится :(((
А мне нужно чтобы значение сохранялось (в Query)... и чтобы его можно было потом использовать ...
На форме стоит DBCtrlGrid ну и на нем DBEdit...
В таблице имеются поля
NOTD VARCHAR2(2);
NGRP VARCHAR2(2);
Поле PODR вычисляется как NOTD || NGRP. Если Пользователь изменил значение PODR то первые 2 символа идут в NOTD, остальные в NGRP..
и т.п.
Zacho (2003-05-07 10:38:00) [32]
> Sergey13 © (07.05.03 10:30)
Да почему никак ? См. passm © (07.05.03 10:09) и еще, скорее всго, потребуется включить CascedUpdates. Сам так делаю, имхо нормальный способ.
Sergey13 (2003-05-07 10:30:00) [33]2lightix (07.05.03 10:03)
Нормально, ИМХО, никак. Придется поизвращаться. Я в таких случаях использую таблицы в памяти RxMemoryData.
passm (2003-05-07 10:18:00) [34]Anatoly Podgoretsky © (07.05.03 10:11)> Нет. Вопрос не звучит: как редактировать вычисляемое поле...
А кто сказал, что Paradox? ;))
Я понял, что ему нужно сгенерировать поле SQL"ем и редактировать.
Соловьев (2003-05-07 10:12:00) [35]
> типа как вычисляемое, но чтобы пользователь мог менять его
> значение)?
меняешь те поля которые участвуют в вычислениях. а вычисляемое менять нельзя.
Anatoly Podgoretsky (2003-05-07 10:11:00) [36]Парадокса не наблюдаешь между вычисляемым и редактируемым.
passm (2003-05-07 10:09:00) [37]Например:
SELECT T1.FIELD1, T1.FIELD2, CAST(NULL AS INTEGER) AS MODE_FIELD
FROM TABLE1 AS T1
И позволь менять MODE_FIELD.