Как присвоить значение логическому полю?

V88

Well-Known Member
22.10.2008
51
0
#1
Всем доброго времени суток!
Сегодня наткнулся с небольшой, но очень важной проблемой. Ситуация такова:
Код:
	 CDS_REGISTR.Append;
CDS_REGISTRDatPost.Value:=StrToDate(dt);
CDS_REGISTRNK.AsString:=(exp);
CDS_REGISTRXoz.AsString:=xoz;
CDS_REGISTRKolvo.AsInteger:=StrToInt(kol);
CDS_REGISTRtip.AsInteger:=StrToInt(tip);
CDS_REGISTRtXoz.AsInteger:=StrToInt(tx);
if chbxFin.Checked then CDS_REGISTRDatRez.Value:=StrToDate(datrez);
if chbxFin.Checked then CDS_REGISTRfinished.AsBoolean:=True;
CDS_REGISTR.Post;
где CDS_REGISTR - это TADOTable; chbxFin - TCheckBox

В выше указанном коде Дельфи не может добавить запись иммено из-за этой строчки:
Код:
 if chbxFin.Checked then CDS_REGISTRfinished.AsBoolean:=True;
(когда условие выполняется)
Почему Дельфи выдает на POST ошибку: "CDS_REGISTR: DataSet not in edit or insert mode.", когда это условие выполняется.
И вообще как присваивать значение логическому полю таблицы? :(
 

V88

Well-Known Member
22.10.2008
51
0
#2
... И правда.... на DataSourse для CDS_Register по событию onChange стояло Cancel, если значение CDS_REGISTRfinished.AsBoolean=True, поэтому и не работало присвоение логическому полю. Я позже это заметил. Поторопился на форум писать. Извените, если что. :)

Тему мою можно удалить, по причине ее некоррекности.