Topic: Как узнать id новой записи

На форме1 имеется таблица и две кнопки.
Кнопка1 это новая запись при нажатии которой открывается форма2 для добавления новой записи.
Кнопка2 открывает Форму2 для редактирования записи.
При открытии Формы2 в скрипте прописал следующее: компонент Edit2 пока просто для того чтобы увидеть id

var id_kassa_work : integer;

procedure Форма2_OnShow (Sender: TObject; Action: string);
begin
  if Форма2.dbAction = 'NewRecord' then
    begin
      id_kassa_work := ?????;
      addKassaWork.Edit2.Text := inttostr(id_kassa_work);
    end;
  if Форма2.dbAction = 'ShowRecord' then
    begin
      id_kassa_work := strtoint(Форма1.TableGrid1.sqlValue);
      addKassaWork.Edit2.Text := inttostr(id_kassa_work);
    end;
end;

Когда открываю Форму2 для редактирования я вижу правильный id записи которую редактирую.
Что прописать когда Форма2 открывается для добавления новой записи, чтобы увидеть новый id?

Re: Как узнать id новой записи

в свойствах кнопки "Сохранить" убираешь галку закрывать после сохранения и прописываешь AfterClic -

Button1.dbGeneralTableId

ну и или в переменную или ещё куда

сумбурно но как-то так

Re: Как узнать id новой записи

ZBear wrote:

в свойствах кнопки "Сохранить" убираешь галку закрывать после сохранения и прописываешь AfterClic -

Button1.dbGeneralTableId

ну и или в переменную или ещё куда

сумбурно но как-то так

Спасибо за ответ, но мне надо узнать этот id еще до сохранения.
Как это можно сделать.

Re: Как узнать id новой записи

Здравствуйте,
возможно, так.
но может быть проблема, если более одного пользователя?
Regards,
Derek.

Post's attachments

Attachment icon max next id.zip 338.66 kb, 360 downloads since 2018-01-19 

Re: Как узнать id новой записи

derek wrote:

Здравствуйте,
возможно, так.
но может быть проблема, если более одного пользователя?
Regards,
Derek.

Спасибо, помогло...

Re: Как узнать id новой записи

К сожалению узнать id до сохранения записи нельзя.


Пример от derek будет работать неправильно, если например удалить последнюю запись, затем попробовать создать новую запись.

Dmitry.

Re: Как узнать id новой записи

Привет Макс, Дмитрий,
Возможно, это еще одно решение??
Derek

Post's attachments

Attachment icon max nextrowid3.zip 340.03 kb, 381 downloads since 2018-01-21 

Re: Как узнать id новой записи

derek wrote:

Привет Макс, Дмитрий,
Возможно, это еще одно решение??
Derek

Ну да, как писал Дмитрий получились ошибки.
А вот как вы предлагаете Derek будет правильнее... Спасибо.

9 (edited by k245 2018-01-23 09:58:44)

Re: Как узнать id новой записи

max1779signal wrote:

...но мне надо узнать этот id еще до сохранения.

Предполагаю, что реализованный в MVDB механизм формирования ID записей обеспечивает целостность данных и нормальную работу СУБД, а Ваша прикладная задача, возможно, имеет другое, более безопасное решение.

Если не секрет, для чего может понадобиться ID недобавленной в базу записи?

Визуальное программирование: блог и телеграм-канал.