Delph7, bazy danych i autonumeracja

0

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

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 :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1