Witam
Na tej stronie: http://www.austrinus.prv.pl/ jest opisane w jaki sposób zrobić pole z autonumeracją. Wszystko mi działa tylko ,że zawsze przy polu numer jeden jest: -1 a nie samo 1. Wie ktoś jak to zlikwidować żeby było samo 1??
0
0
Jak ci to wyszło, że od -1 się zaczyna?
Ewentualnie możesz zrobić tak, ale tamtego błędu nie powinno być!
DataSet.FieldByName('LP').AsInteger:= DataSet.RecNo+2;
0
Zaczyna się od -1 a dalej idzie normalnie: -1, 2, 3 itd.
Dopisałem do procedury zdarzenia OnCalcFields:
if (dataset.FieldByName('lp').AsInteger=-1) then
dataset.FieldByName('lp').AsInteger:=1;
i teraz staruje od 1.
0
Dzieje się tak pewnie dlatego, że rekordy są numerowane od 0, natomiast po założeniu tabeli (czyli, jak mówisz, na początku) nie ma w niej żadnych rekordów, nie można więc wymagać od systemu podania numeru rekordu, który nie istnieje. Stąd owo -1, liczba nieprawidłowa - a więc błąd :)