Topic: обновление счетчика

Добрый день Дмитрий!

В виду использования счетчика в базе данных, возник следующий вопрос:
Возможно ли настроить счетчик таким образом чтобы при переходе на следующий год он сбрасывался и начинал нумерацию с начала.
Дабы не множить количество баз из года в год.

Если в крации: то последняя заявка была в 2016 году под номером 1100, и хотелось бы при создании новой в 2017 начать отсчет с 1 и т. д.

Архив базы прилагаю.

Post's attachments

Attachment icon база.rar 612.86 kb, 392 downloads since 2017-01-09 

Re: обновление счетчика

Приветствую.


Посмотрите пожалуйста данный пример
http://myvisualdatabase.com/forum/misc. … download=1

Dmitry.

Re: обновление счетчика

Добрый день Дмитрий!

Поскольку я совсем далек от программирования, посмотрите пожалуйста что я сделал не так
Да и формат даты у меня чч.мм.гггг (а в примере тока на год опирается)
Заранее спасибо.

Post's attachments

Attachment icon база заявок.rar 663.82 kb, 382 downloads since 2017-01-18 

Re: обновление счетчика

glkonst79 wrote:

Добрый день Дмитрий!

Поскольку я совсем далек от программирования, посмотрите пожалуйста что я сделал не так
Да и формат даты у меня чч.мм.гггг (а в примере тока на год опирается)
Заранее спасибо.

Опишите что где не получается на вашем примере?

Re: обновление счетчика

В скрипте пишет ошибку ссылаясь на 5:47, но на данной точке просто пробел.

Re: обновление счетчика

у вас в скриптах ничего нету

Re: обновление счетчика

Странно у меня вот такой скрипт:

procedure Form1_TableGrid1_OnAfterSort (Sender: string; ACol: Integer);
begin
           if Acol=0 then
           begin
              Form1.TableGrid1.dbCustomOrderBy := 'dataout, record_count';
              Form1.TableGrid1.dbUpdate;
           end;
end;

procedure frmApplication_OnShow (Sender: string; Action: string);
begin
         if Action='Newrecord' then
         begin
              frmApplication.DateTimePicker2.Text := FormatDateTime('dd.mm.yyyy', now);
              frmApplication.EditCounter2.Text := SQLExecute ('SELECT IFNUL(MAX(record_count), 0)+1 FROM Application WHERE dataout='+FormatDateTime('dd.mm.yyyy', now));
         end;
end;

procedure Form1_TableGrid1_OnChange (Sender: string);
var
   i,c: integer;
   k,q: integer;
   s: string;
begin
     Form1.TableGrid1.BeginUpdate;

     q := Form1.TableGrid1.Columns.Count-1;
     c := Form1.TableGrid1.RowCount - 1;
     for i := 0 to c do
     begin
            if Form1.TableGrid1.Cells[7,i] = 'УТВЕРЖДЕНИЕ' then
         begin
             s := Form1.TableGrid1.Cells[4,i];
             if ValidDate(s) then
                 if (StrToDate(s) + 4) < now then
                     for k := 0 to q do
                         Form1.TableGrid1.Cell[k,i].Color := clRed;
         end;

             if Form1.TableGrid1.Cells[7,i] = 'ПОЛУЧЕНИЕ КП' then
         begin
             s := Form1.TableGrid1.Cells[15,i];
             if ValidDate(s) then
                 if (StrToDate(s) + 3) < now then
                     for k := 0 to q do
                         Form1.TableGrid1.Cell[k,i].Color := clyellow;
         end;

     end;

     Form1.TableGrid1.EndUpdate;
end;

begin

end.

Re: обновление счетчика

Вы наверное запаковали не тот проект, запакуйте в архив заново и прикрепите

Re: обновление счетчика

Добавил вновь заархивированную. Правда удалил запускной файл, поскольку с ним не пропускает прищепку.

Post's attachments

Attachment icon база данных.rar 664.06 kb, 384 downloads since 2017-01-19 

Re: обновление счетчика

Найдите это:

frmApplication.DateTimePicker2.Text := FormatDateTime('dd.mm.yyyy', now);

И замените на

frmApplication.DateTimePicker2.DateTime:= now;

Re: обновление счетчика

Я так понимаю вот эта процедура для сортировки в гриде?

procedure Form1_TableGrid1_OnAfterSort (Sender: string; ACol: Integer);
begin
           if Acol=0 then
           begin
              Form1.TableGrid1.dbCustomOrderBy := 'dataout, record_count';
              Form1.TableGrid1.dbUpdate;
           end;
end;

А вторая опирается на окно даты, но при создании у меня не стоит там дата. И посему при создании у меня не начинается новая нумерация.
Как можно сделать так чтобы при создании новой заявки там сразу стояла текущая дата? (может тогда у меня будет нумерация идти)

Re: обновление счетчика

У вас вопросы не конкретные, напишите последовательность действий.

Re: обновление счетчика

У меня простой вопрос, как мне сделать чтобы при формировании новой заявки счетчик сбрасывал нумерацию с 01.01.....