иногда генерирует отрицательное число, например -43543435
Это по замыслу. случайный автономный номер может принимать любое значение в диапазоне длинного.
Это не должно иметь никакого значения для вас, поскольку значение идентификатора в любом случае должно быть бессмысленным, поскольку его единственная цель - идентифицировать запись уникальным образом и не должна отображаться для пользователя.
Если вы хотите применить случайные числа к записям с целью сортировки, вы можете изучить методы, описанные в моей статье:
Случайные строки в Microsoft Access
Если у вас нет учетной записи, перейдите по ссылке: Прочитать статью полностью.