Topic: Форма (новая запись).

Здравствуйте Дмитрий!
Такая ситуация... по двойному клику по гриду через скрипт кликаем на битон1 открыть  форму(новая запись)
естественно все компаненты: Edit, ComboBox, CheckBox и DateTimePicker приняли нулевое значение...
А мне по двойному клику по гриду....  в придачу ещё и надо вытащить значения из строчки в гриде:

Form2.Edit1.Text := SQLExecute ('SELECT deposit FROM Centre WHERE id = ' + IntToStr(Form14.TableGrid1.dbItemID) );
Form2.ComboBox12.dbItemID := SQLExecute ('SELECT IFNULL(id_broker, -1)FROM Centre WHERE id = ' +
      IntToStr(Form14.TableGrid1.dbItemID) );
if  SQLExecute ('SELECT Real FROM Centre WHERE id = ' + IntToStr(Form14.TableGrid1.dbItemID) ) = '1' then
      Form2.CheckBox5.Checked := True else Form2.CheckBox5.Checked:= False;

1. В этих скриптах надо что то дописывать, что бы  Edit, ComboBox, CheckBox не обнулялись при открытии формы(новая запись)?
2. На данный момент сделал так:
по двойному клику по гриду через скрипт кликаем на битон2 показать форму, ту которая бала создана битон1 форма(новая запись)
а потом обнуляю скриптом компоненты которые нужны для  новой записи....... Это правильно?

Re: Форма (новая запись).

попробуйте так

procedure Form2_OnShow (Sender: string; Action: string);
begin
    if Action = 'NewRecord' then
    begin
        Form2.Edit1.Text := SQLExecute ('SELECT deposit FROM Centre WHERE id = ' + IntToStr(Form14.TableGrid1.dbItemID) );
        Form2.ComboBox12.dbItemID := SQLExecute ('SELECT IFNULL(id_broker, -1)FROM Centre WHERE id = ' + IntToStr(Form14.TableGrid1.dbItemID) );
        if  SQLExecute ('SELECT Real FROM Centre WHERE id = ' + IntToStr(Form14.TableGrid1.dbItemID) ) = '1' then
        Form2.CheckBox5.Checked := True else Form2.CheckBox5.Checked:= False;
    end;
end;
Dmitry.