Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Вниз

CalcFields 


a_a_k   (2002-03-15 15:59) [0]

В DBGrid-е отображаются все поля бд кроме одного. Неотображаемое поле может принимать одно из 4 возможных значений. Надо добавить в DBGrid ещё 4 поля типа Boolean (соответствующие возможным значениям) так, чтобы заполнялось только одно из них (причём было заполнено обязательно). И ещё чтобы все это было можно редактировать. Если можно, опишите, пожалуйста, все поподробнее.



Val   (2002-03-15 16:11) [1]

Вычисляемые поля редактировать не получится, вам нужно редактировать то поле, которое вы не отображаете, а результат получится в вычисляемых полях.



a_a_k   (2002-03-15 16:14) [2]

то есть в DBGrid-е через вычисляемые поля никак нальзя изменить бд?



Val   (2002-03-15 16:18) [3]

можно подробнее задачу? возможно есть другой подход



a_a_k   (2002-03-15 16:29) [4]

Надо чтобы в одном из этих полей ставились галки, причём галка ставилась только в одном поле и обязательно была. А название поля где галка стоит записывалось только в одно поле бд
Другой подход есть - сделать в бд 4 поля вместо 1, но так делать нельзя (директивы руководства).



Val   (2002-03-15 16:35) [5]

а как насчет того, чтобы показывать в гриде это ваше поле, но отображать в нем не табличное значение а какое-нибудь ему соответствующее значение? я же говорю-конкретизируйте задачку, чтобы было понятно, о чем речь.



a_a_k   (2002-03-15 16:42) [6]

Надо чтобы таблица подсчёта голосов выглядела так
вопрос-за-против-возд-недейств,
а бд так:
вопрос-результат.



Val   (2002-03-15 16:47) [7]

ясно, как я понимаю у вас в поле результат хранятся числовые идентификаторы, правильно?если так, то можно вместо создавания в гриде новых полей сделать чтобы в поле результат отображалось нужное значение типа:
вопрос за
вопрос недейств
, или это не подходит и нужно именно с галками??



Lusha   (2002-03-15 16:50) [8]

Осмелюсь предложить TQuery в режиме CachedUpdates

Запрос при этом будет такой, например

SELECT
Field1,
CAST((Field1 - 1) AS BOOLEAN) As CHECK1,
CAST((Field1 - 2) AS BOOLEAN) As CHECK2,
CAST((Field1 - 3) AS BOOLEAN) As CHECK3,
CAST((Field1 - 4) AS BOOLEAN) As CHECK4
FROM Table1

Значения правда будут инверсными. но это не беда. :)
В Query обработчик на OnUpdateRecord и все дела.

Удачи




a_a_k   (2002-03-15 16:53) [9]

Можно так сделать, но т. к. объём вводимой информации будет очень большим, а забить данные надо как можно быстрее, то для быстроты ввода нужны именно 4 колонки. Так поставило задачу начальство. Одна колонка с выпадающим списком уже была - сказали переделать



Val   (2002-03-15 16:58) [10]

есть вариант сделайть в виде формы с чекбоксами, а грид для отображения.



Lusha   (2002-03-15 16:58) [11]

А я ничего про выпадающие списки не говорил... :(
Я просто предлагаю вариант создания в НД четырех редактируемых колонок типа BOOLEAN при наличии в БД только одной типа INTEGER. А также пути их редакции...



Val   (2002-03-15 17:00) [12]

>Lusha © (15.03.02 16:58)
я ничего про выпадающие списки не говорил... :(
это скорее мне сообщение :)



a_a_k   (2002-03-15 17:01) [13]

Sorry, Lusha, это я отвечал Val.




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.019 c
3-22575           KaPaT                 2002-03-17 20:45  2002.04.08  
Кто работал с отчетами помагите пожалуйста!


14-22846          Olgerd                2002-02-26 03:35  2002.04.08  
А здесь вы найдете архивы старых форумов


1-22654           solo                  2002-03-28 11:32  2002.04.08  
Вся работа стоит.


1-22769           mahortov              2002-03-27 13:58  2002.04.08  
Формы из D6 в D5?


14-22807          QueenOfRain           2002-02-26 16:18  2002.04.08  
Глупый вопрос, но все таки