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

Вниз

Сделать Lookup - поле....   Найти похожие ветки 

 
STX   (2006-08-05 01:41) [0]

В НД есть поля АДРЕС | ДОМ | КВАРТИРА. А как их вывести в таблицу в одном поле?
Создавать отдельное поле в НД нет надобности...


 
STX   (2006-08-05 11:05) [1]

Ребят, кто-нибудь, подскажите.

какое в табл. добавить поле (только для отображения), объединяющее 3 других в этой же строке


 
Leonid Troyanovsky ©   (2006-08-05 11:16) [2]


> STX   (05.08.06 11:05) [1]

> какое в табл. добавить поле (только для отображения), объединяющее
> 3 других в этой же строке


Добавь к датасету calculated field.

--
Regards, LVT.


 
STX   (2006-08-05 12:49) [3]

Уже добавлял. В свойстве OnGetText все нужной объединяется и показывается. Только есть проблема - при добавлении новой записи выдает ошибку: невозможно преобразовать NULL в STRING и прога зависает.


 
STX   (2006-08-05 13:03) [4]

В процедуру OnGetText добавил проверку наличия значения в полях и если = NULL то EXIT.

Верное ли это решение???? Может есть более правильное?


 
Leonid Troyanovsky ©   (2006-08-05 13:09) [5]


> STX   (05.08.06 12:49) [3]

> записи выдает ошибку: невозможно преобразовать NULL в STRING
> и прога зависает.


Покажи строку объединения.

--
Regards, LVT.


 
STX   (2006-08-05 14:20) [6]


procedure TDModule.dtOrdersLookUpAddressFromGetText(Sender: TField; var Text: String; DisplayText: Boolean);
begin
 with dtOrders do begin
   if NOT FieldByName("STREET").IsNull then text := FieldValues["STREET"];
   if NOT FieldByName("HOUSE").IsNull  then text:= text + " "+ FieldValues["HOUSE"];
   if NOT FieldByName("APART").IsNull  then text:= text + " êâ."+ FieldValues["APART"];
 end;//with dtOrders
end;


Такой вариант решения верный ?????


 
STX   (2006-08-05 14:20) [7]


procedure TDModule.dtOrdersLookUpAddressFromGetText(Sender: TField; var Text: String; DisplayText: Boolean);
begin
 with dtOrders do begin
   if NOT FieldByName("STREET").IsNull then text := FieldValues["STREET"];
   if NOT FieldByName("HOUSE").IsNull  then text:= text + " "+ FieldValues["HOUSE"];
   if NOT FieldByName("APART").IsNull  then text:= text + " кв."+ FieldValues["APART"];
 end;//with dtOrders
end;


Такой вариант решения верный ?????


 
Leonid Troyanovsky ©   (2006-08-05 15:02) [8]


> STX   (05.08.06 14:20) [7]

> Такой вариант решения верный ?????


Ну, а почему бы и нет?
Хотя, проще б было создать экземпляры требуемых полей
с помощью Fields Editor, а сцеплять их простым

Text := dtOrdersSTREET.AsString + ".."+  dtOrdersHOUSE.AsString + ..

--
Regards, LVT.


 
Megabyte ©   (2006-08-06 11:16) [9]

А не проще ли изменить запрос и сделать конкатенацию строк: (поле1 || поле2 || поле3) as Мегаполе? Или я вопрос не так понял?


 
Leonid Troyanovsky ©   (2006-08-06 11:26) [10]


> Megabyte ©   (06.08.06 11:16) [9]

> А не проще ли изменить запрос и сделать конкатенацию строк:
>  (поле1 || поле2 ||


На клиенте оформатировать вывод проще, возможности шире.

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2006.08.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.037 c
6-1144012942
MVP
2006-04-03 01:22
2006.08.27
Подмена картинок на форуме


15-1154422757
cyborg
2006-08-01 12:59
2006.08.27
В этом году жёсткому диску исполнится 50 лет


15-1154163913
imbalacedees
2006-07-29 13:05
2006.08.27
Проблема при открытии папок


15-1154206733
Германн
2006-07-30 00:58
2006.08.27
"Поиск" и возврат в форум


4-1146820955
Dimich1978
2006-05-05 13:22
2006.08.27
получить handle окна по неполному имени