|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Как автоматически добавить запись в ячейку таблицы при заполнении всей строки
Требуется совет.
Есть таблица. У нее 3 поля, A, B, C Как сделать, чтобы при заполнении полей A и B одной строки поле С этой же строки заполнялось автоматически каим-либо стринговым значением. Второй вопрос: Как заполнить весь столбец константным значением, которое не смог бы поменять пользователь. То есть при вводе A и B значение С уже было бы предустановлено. Напишите кто знает как это сделать... Буду очень признателен. |
#2
|
|||
|
|||
Поле С делаешь Calculated и в обработчик Table onCalculated вписываешь какой стринг вписать в С в зависимости от А и В.
А второй вопрос... типа TableC.Value:='хрен вам'; TableC.ReadOnly:= True; |
#3
|
|||
|
|||
Блин, хоть бы указал, чем пользуешься... Ладно, будем угадывать.
Идем в FieldEditor твоего датасета и на нужном поле ставим ReadOnly := True. Затем пишем обработчик OnInsert для твоего датасета, и в нем пишем что-то вроде Код:
ClientDataSet1.FieldByName('C').AsString := 'Телепаты в отпуске'; |
#4
|
|||
|
|||
всё верно, либо вычисляемое поле, либо (если SQL) триггер сделать, либо переделать таблицу добавив default в это поле.
|
#5
|
|||
|
|||
хех, а в чём проблема сделать так
Код:
INSERT INTO Name_Table (A, B, C) VALUES (:A, :B, :C); Код:
with dm.QTable do begin ParamByName('a').AsString := ''+Edit1.Text.Text+''; ParamByName('b').AsString := ''+Edit2.Text.Text+''; ParamByName('c').AsString := ''+'привет телепатам :)'+''; end; |
#6
|
|||
|
|||
а, ну естественно, что после всего этого ещё надо ExecSQL выполнить
|