Показать сообщение отдельно
  #5  
Старый 23.12.2008, 14:56
xchrom xchrom вне форума
Начинающий
 
Регистрация: 08.04.2008
Сообщения: 177
Репутация: 15
По умолчанию

хм... ну например получение номера следующего документа на определенную дату можно оформить такой функцией
Код:
// функция получения следующего номера документа за определенную дату
function TForm1.GetNewNum(dt: integer): string;
begin
  //seq - табличка в БД с двумя полями, описание полей ниже
  if not seq.Locate('dat',dt,[]) then //ищем дату такую в табличке
  begin //если не нашли, добавляем запись и номер ставим 2, возвращаем 1
    seq.Insert;
    seq.FieldByName('dat').AsInteger := dt;//тип целое. ключевое. дата приказа в виде целого числа
    seq.FieldByName('nxt').AsInteger  := 2;//тип целое. номер следующего приказа за дату
    seq.Post;
    Result := '1';
    Exit;
  end
  else
  begin //если нашли дату, т.е. были документы на эту дату
    Result := seq.fieldbyname('nxt').AsString;//берем номер
    seq.Edit;
    // и увеличиваем в табличке на 1
    seq.FieldByName('nxt').AsInteger := seq.FieldByName('nxt').AsInteger +1;
    seq.Post;
  end;
end;

PS это не решение твоей задачи, а так наводка на мысли, делать все за тебя мне скучно
__________________
правильный вопрос содержит в себе 90% ответа
Ответить с цитированием