Проблема с типом данных "счётчик" (ACCESS)

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Crio
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 84
Зарегистрирован: 21.05.2007 (Пн) 12:01
Откуда: Питер

Проблема с типом данных "счётчик" (ACCESS)

Сообщение Crio » 24.11.2007 (Сб) 15:30

Проблема такая: есть таблица, в ней несколько полей. Тип одного из полей - счётчик. Добавляю записи - всё нормально, считает - 1, 2, ... 10 Удаляю записи. Добавляю другие - 11, 12, ... 20. Счётчик не обнуляется...
Вопрос - как его обнулить? Вариант с удалением столбца или таблицы не подходит.
Поиск по форуму результатов не дал...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 24.11.2007 (Сб) 16:47

никак, это не нумератор. для нумератора делай свой собственный счетчик.

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 24.11.2007 (Сб) 22:47

Если таблица уже пуста, то можно произвести сжатие базы. При этом счетчики всех таблиц обнуляются.
Но если к номерам идет какая-то привязка, то не стоит полагаться на встроенный счетчик -- лучше сделать свой.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Crio
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 84
Зарегистрирован: 21.05.2007 (Пн) 12:01
Откуда: Питер

Сообщение Crio » 24.11.2007 (Сб) 23:10

ОК, встречный вопрос: как сделать свой счётчик?
Если уже есть такая тема, дайте ссылку...

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 25.11.2007 (Вс) 1:03

Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Crio
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 84
Зарегистрирован: 21.05.2007 (Пн) 12:01
Откуда: Питер

Сообщение Crio » 25.11.2007 (Вс) 17:08

VVitafresh
Спасибо!

Konst_One
Ясно. Спасибо за ликбез. Печально, что для МС-Офис Скрепыш нужнее нумератора...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.11.2007 (Пн) 9:00

Crio, много ли ты знаешь баз, в которых есть встроенные нумераторы?
Lasciate ogni speranza, voi ch'entrate.

Crio
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 84
Зарегистрирован: 21.05.2007 (Пн) 12:01
Откуда: Питер

Сообщение Crio » 26.11.2007 (Пн) 9:31

Ни одной... В том смысле, что самих баз данных знаю немного...
А наличие встроенного нумератора несовместимо с корректной работой БД?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.11.2007 (Пн) 9:37

Просто он бессмысленен для самой базы данных. Он может быть нужен для бизнес-логики, а в этом случае его несложно сделать и самому.
Lasciate ogni speranza, voi ch'entrate.

dormouse
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 140
Зарегистрирован: 10.01.2007 (Ср) 21:58
Откуда: Волжский

Сообщение dormouse » 26.11.2007 (Пн) 18:14

в интербейсе, к примеру, с помощью триггеров можнро создать автоинкрементное поле. навроде счётчика.
но какой в нём смысл, если его надо сбрасывать после каждого удаления записей?

в акцессе я знает только два применения счётчику (которыми пользуюсь иногда):
1. сортировка таблицы по последовательности добавления записей. но есть альтернатива - использовать поле даты со значением по умолчанию "=Now()".
2. счётчик используется, как ключевое поле в качестве ID записи.
удобно использовать: в схеме базы делается связь по этому полю с другими таблицами и в свойствах связи ставится опция "обеспечивать целостность данных".

подозреваю, что нужен порядковый номер в отчёте.
тогда для сортировки таблицы надо использовать один из способов из первого пункта, а в самом отчёте вставить свободное поле со значением "=1" и свойством "сумма с накоплением" отличное от "Отсутствует"
VBA, MSA97

Crio
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 84
Зарегистрирован: 21.05.2007 (Пн) 12:01
Откуда: Питер

Сообщение Crio » 26.11.2007 (Пн) 21:51

alibek
Ок, на нет и суда нет.
Главное, что нумератор всё-таки можно сделать...

dormouse
Если бы хоть чатсь задачи была бы так проста, как ты думаешь...


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 208

    TopList  
cron