Последняя версия DataExpress 3 beta от 15 сентября 2020 года.

Изображение Скачать | Изображение Что нового?



Объявление:

Если вам понравилась программа и вы ее интенсивно используете - замолвите словечко о ней на вашем сайте (блоге, форуме, твитере, краской на подъезде, ютуб-канале и т.д.) с активной (по-возможности) ссылкой на сайт программы/форум. Тем самым вы можете внести небольшой вклад в seo-карму проекта в виде входящих ссылок.
Спасибо! Администрация :)


>> Обсудить <<

Открыть форму и добавить значение в таблицу

Все вопросы, связанные с написанием скриптов и SQL-запросов.
WPAS
Интересующийся
Сообщения: 106
Зарегистрирован: 11 фев 2019, 20:35
Благодарил (а): 33 раза
Поблагодарили: 6 раз

Открыть форму и добавить значение в таблицу

Сообщение WPAS » 18 май 2020, 19:28

Добрый день. Подскажите, как открыть форму в режиме редактирования и добавить новую записи в таблицу (открыть окно для заполнения полей) :?

Код: Выделить всё

procedure ClickBaton2 (Sender: TObject);
var
Fm: TdxForm;
begin
Fm := TdxForm.Create('Форма1');
Fm.OpenRecord(Id);
fm.edit;
.......................
begin
if Fm.EditWindow.ShowModal = mrOk then Fm.Post;
end;
Fm.Free;
end;

Vofka18
Знаток
Сообщения: 467
Зарегистрирован: 04 мар 2018, 16:54
Благодарил (а): 46 раз
Поблагодарили: 53 раза

Открыть форму и добавить значение в таблицу

Сообщение Vofka18 » 18 май 2020, 22:27

Пишу с телефона, могу ошибаться, но попробуйте перед fm.post ещё добавить

Код: Выделить всё

Child:=fm.forms['таблица'] // это в начале процедуры, после fm.edit
Child.append
If child.showmodal=mrok then child.post

И не забывайте чистить память. Хотя я не уверен, что в модуле формы можно ли вызывать free

WPAS
Интересующийся
Сообщения: 106
Зарегистрирован: 11 фев 2019, 20:35
Благодарил (а): 33 раза
Поблагодарили: 6 раз

Открыть форму и добавить значение в таблицу

Сообщение WPAS » 19 май 2020, 19:17

Пишет ошибку, а я не знаю что такое Child.
Как я понимаю нужно использовать данную "конструкцию", но вот как ее "пристроить"...

Код: Выделить всё

begin
if (Self.State <> dsInsert) and (Self.State <> dsEdit) and (Self.Edit = asOk) then
with Self.Forms['Таблица'] do
begin
Append;
Fields['Поле1'] := 2;
if EditWindow.ShowModal = mrOk then
Post
else
Cancel;
end;
end;

Vofka18
Знаток
Сообщения: 467
Зарегистрирован: 04 мар 2018, 16:54
Благодарил (а): 46 раз
Поблагодарили: 53 раза

Открыть форму и добавить значение в таблицу

Сообщение Vofka18 » 19 май 2020, 21:01

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

Код: Выделить всё

procedure ClickBaton2 (Sender: TObject);
var
Fm,Child: TdxForm;
begin
  Fm := TdxForm.Create('Имя основной формы');
  fm.open();
  Child:=fm.forms['Имя таблицы']
  try
    // только  не путайте OpenRecord, GotoRecord, moveTo
    Fm.GotoRecord(Id);
    fm.edit;
    //fm.append()
    fm.EditWindow.Show();

    child.append();
    child['Поле1']:=10;
    //............
    if Child.EditWindow.ShowModal = mrOk then
    begin
      Child.Post;
    end
    else
    begin
      child.cancel();
    end;

    if fm.EditWindow.ShowModal = mrOk then
    begin
      fm.Post;
    end
    else
    begin
      fm.cancel();
    end;

  finally
    child:=nil;
    Fm.Free;
  end;
end;

Vofka18
Знаток
Сообщения: 467
Зарегистрирован: 04 мар 2018, 16:54
Благодарил (а): 46 раз
Поблагодарили: 53 раза

Открыть форму и добавить значение в таблицу

Сообщение Vofka18 » 19 май 2020, 21:48

Ну и все-таки, уточню, что я далеко не специалист, поэтому может кто нить, еще что посоветует? :D
Вложения
img1.jpg
img1.jpg (71.8 КБ) 441 просмотр

WPAS
Интересующийся
Сообщения: 106
Зарегистрирован: 11 фев 2019, 20:35
Благодарил (а): 33 раза
Поблагодарили: 6 раз

Открыть форму и добавить значение в таблицу

Сообщение WPAS » 19 май 2020, 21:55

Да. Все отлично, мне подойдет :D


Вернуться в «Программирование в DataExpress»