![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Простой вопросик. Доступ к полям БД [Paradox]
Константинов © (2004-11-23 00:12:00)Вопрос простейший, но я даже не знаю на что грешить.
Пытаюсь редактировать значения поля таблицы ( TDateTime ) c помощью DateTimePicker
//показываем компонент в нужном месте
procedure TForm1.DBDataInDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (gdFocused in State) then
begin
if DBDataIn.SelectedField.FieldNo = 5 then
begin
DTPTemp.Left := DBDataIn.Left + Rect.Left + TabSheet1.Left;
DTPTemp.Top := DBDataIn.Top + Rect.Top + TabSheet1.Top;
DTPTemp.Width := DBDataIn.Columns[3].Width + 4;
DTPTemp.Date := Table1.FieldByName('Date').AsDateTime;
DTPTemp.Visible := true;
DTPTemp.BringToFront;
DTPTemp.SetFocus;
end;
end;
end;
//пытаюсь записать значение даты
procedure TForm1.DTPTempExit(Sender: TObject);
begin
Table1.FieldByName('Date').AsDateTime := DTPTemp.Date;
DTPTemp.Visible := false;
end;
и ловлю error следующего содержания : "Table1: DataSet not in edit or insert mode"
Что я делаю не так? Объясните плиз балбесу...
jack128 (2004-11-23 01:22:00) [1]procedure TForm1.DTPTempExit(Sender: TObject);
var
f: boolean;
begin
f := Table1.State in [dsEdit, dsInsert];
if not f then
Table1.Edit;
try
Table1.FieldByName('Date').AsDateTime := DTPTemp.Date;
DTPTemp.Visible := false;
if not f then
Table1.Post;
except
if not f then
Table1.Cancel;
raise;
end;
end;
GanibalLector (2004-11-23 01:19:00) [2]>Table1: DataSet not in edit or insert mode"
Дык Table1.Edit или Table1.Insert если новая.ессесно post потом