Добрый день.

Возможно ли сделать полю обычный цифровой счетчик, чтобы он сам генерировал число?

Или только при открытии формы он к мах значению прибавлял 1? (как тогда выбрать мах значение)

Нравится

4 комментария

Для создание счетчиков обычно пользуются системными настройками(Файл->Настройки->Системные настройки). Создайте там две настройки с кодом заканчивающимся на "Number" и "Mask". Если рассмотреть на примере счетов, то уже есть настройки "InvoiceNumber" и "InvoiceMask". Каждый раз перед сохранением записи(событие датасета beforePost) вызывается функция SetItemSystemNumber('Invoice', Dataset, 'InvoiceNumber'). Она увеличивает значение системной настройки(из первого параметра) на единицу и записывает в поле указанного в третьем параметре(InvoceNumber). Таким образом номер счета увеличивается автоматически.

Константин, ознакомьтесь с алгоритмом создания автоматической нумерации во вложенном файле.

Есть более низкоуровневый способ. Сделать автонумерацию на уровне БД:

ALTER TABLE tbl_Bank
ADD [Incr] [int] IDENTITY(1,1) NOT NULL

Потом добавить колонку Incr INT в администраторе(не сохраняя в БД)

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

Спасибо большое, все получилось!

Показать все комментарии