Очистить счетчик ключевого поля

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Очистить счетчик ключевого поля

Сообщение Алексей К. » 16.02.2005 (Ср) 11:44

Записываю периодически данные (обновляю) в access табличку. Сначачала удаляю все записи и закрываю базу:
Код: Выделить всё
rs.MoveFirst
Do While rs.EOF = False
            rs.Delete
            rs.MoveNext
Loop

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

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

Сообщение alibek » 16.02.2005 (Ср) 11:48

А какая тебе разница, с какого номера начинается счетчик?
Если душа просит эстетики, то удали все записи, сожми базу данных, нумерация начнется с 1.
Lasciate ogni speranza, voi ch'entrate.

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 16.02.2005 (Ср) 12:03

сжать

это как?

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

Сообщение Konst_One » 16.02.2005 (Ср) 12:19

Код: Выделить всё
DBEngine.CompactDatabase CurrentDb.Name, NewName

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 16.02.2005 (Ср) 14:17

проще таблицу пересоздать)))

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

sebas<-@->mail.ru

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

Сообщение alibek » 16.02.2005 (Ср) 14:24

Sebas, не факт :)
У меня гиговая таблица жмется минут 5-10.
Lasciate ogni speranza, voi ch'entrate.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 16.02.2005 (Ср) 14:53

Roman Koff писал(а):Чтобы не отвлекать внимание на стартовый номер счетчика я использую случайную генерацию счетчика


Это как?!??!?!? id=rnd() * х - так?!?!?!?!?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 16.02.2005 (Ср) 14:55

alibek писал(а):Sebas, не факт :)
У меня гиговая таблица жмется минут 5-10.


пожатая 500меговая база компактится на 1.7 селерон~10-20 Минут
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 16.02.2005 (Ср) 17:32

Roman Koff писал(а):В ацессе есть возможность для счетчика задать не последовательное а случайное заполнение


Это как?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 17.02.2005 (Чт) 11:58

попутно возник вопрос, как создать программно это ключевое поле - счетчик ("Код") ?
простое поле создаю так:
Код: Выделить всё
Set db = CreateDatabase(App.path + "\" + имя_базы + ".mdb", dbLangGeneral)
Set td = db.CreateTableDef("каталоги")
Set fd = td.CreateField("имя", dbText, 255)
td.Fields.Append fd
db.TableDefs.Append td


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: AhrefsBot, Majestic-12 [Bot], Yandex-бот и гости: 91

    TopList