Форум: "Базы";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];
ВнизКак сделать вх. номер? Найти похожие ветки
← →
Viktor1 (2002-04-07 00:28) [0]Делаю программу регистрации входящих писем, нужно чтобы программа каждому письму присваивала уникальный вх.номер. Так вот к чему этот номер привязать, чтобы по окончанию года вх.номер начинался бы сначала. Может кто видел такой пример, подскажите где. База Paradox, BDE.Спасибо всем.
← →
Anatoly Podgoretsky (2002-04-07 09:04) [1]Привяжи к году, год+nr
← →
Shaman (2002-04-07 10:01) [2]Не используй автоинкрементное поле, а расчитывай номер письма сам. Например
function NewLetterNum(NewDate: TDateTime): Lontint;
var
d, m, y1, y2: Word;
PrevDate: TDateTime;
PrevNum: LongInt;
begin
// Определяем год из даты нового письма
DecodeDate(NewDate, d, m, y1);
// Таблица должна быть отсортирована по дате + номер письма
Table1.IndexFieldNames := "LDate;LNum";
// Определяем номер и дату последнего письма и выделяем из нее год
Table1.Last;
PrevDate := Table1.FieldByName("LDate").AsDateTime;
PrevNum := Table1.FieldByName("LNum").AsInteger;
DecodeDate(PrevDate, d, m, y2);
if y2 < y1 then Result := 1 else Result := PrevNum + 1;
end;
← →
Viktor1 (2002-04-07 12:26) [3]Спасибо, всё понял. Shaman огромное спасибо за пример. Главное принцип остальное дело техники!!!
← →
dnk (2002-04-07 15:30) [4]Можно таким нехитрым запросом его посчтитать ->
select Max(Nomer)+1 from jurnal.db
where Year = :PY
PY = параметр текущий год
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c