Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Очистка таблицы ACCESS 2000 [D7, ACCESS 2000]


sergg ©   (2005-01-04 11:11:00) 

С новым годом!
Есть ли средства для очитки таблиц ACCESS да так, чтобы нумерация записей начиналась с 1 ??


msguns   (2005-01-04 18:09:00) [1]

>KSergey ©   (04.01.05 17:21) [15]
>К стати, а так ли уж надо счетчик сбрасывать? Мне как-то не понятно зачем это...

Как частный случай, для сброса кодов ЭККА в розничной торговле.


KSergey   (2005-01-04 17:21:00) [2]

К стати, а так ли уж надо счетчик сбрасывать? Мне как-то не понятно зачем это...


msguns   (2005-01-04 16:39:00) [3]

>sergg   (04.01.05 16:36) [13]

Нет, если речь идет об одном объекте за разные периоды времени.
Да, если речь идет о двух автономных объектах с несвязанной информацией.


sergg   (2005-01-04 16:36:00) [4]

А я сделал 2 *.mdb- файла один старый - за 2004 другой новый, в программке легко переключиться от одной базки другой - это третий путь ?:)))


sniknik   (2005-01-04 12:44:00) [5]

(логику не расматриваю, у каждого есть право на собственные ошибки :)


sniknik   (2005-01-04 12:42:00) [6]

варианта действительно два
первый упаковка базы после удаления записей из таблиц (при упаковке счетчик получает значение максимального автоинкремента в таблице)
второй ручной
alter table Table1 alter column ID counter(1,1)
для каждой таблици (внимательнее с тем что там внутри, если записи там есть то это "сломает" таблицу, счетчикм же обычно еще и ключами делают)


YurikGL   (2005-01-04 12:25:00) [7]


> msguns ©   (04.01.05 12:13) [9]

Для таких случаев есть вариант два... :-)


msguns   (2005-01-04 12:13:00) [8]

>YurikGL ©   (04.01.05 11:44) [8]
>Для access-a сойдет...

А причем тут акцес ? Просто как объяснить узерам, что с 1-го января каждого года им придется перезаводить не только все справочники, но и сальдовые остатки всех типов. Кроме того, есть весьма крупная вероятность, что я не смогу синтезировать данные 2-х или более лет. Т.е. шефу (или кто там у него за "арифмометр") придется ручками крыжать отчеты за 2003 и 2004 годы, чтобы получить сводный отчет. Ну и неувязочка с оперативкой - например, шеф в январе может захотеть посмотреть сравнительную картину движняка в этом году и в прошлом. Как быть ? Запустить доп.приложение и выискивать там ? А как быть с предметом поиска ? Т.е. сначала найти в одном окне, потом записать на бумажку, потом то же самое найти в другом окне и написать на бумажку. Потом взять бумажку и арифмометр...

Я же сказал - на кладбище !


YurikGL   (2005-01-04 11:44:00) [9]


> msguns ©   (04.01.05 11:43) [7]

Для access-a сойдет...
Для чего посложнее - лучше что-то типа скрипта держать. Или програмки, которая бы эту базу генерировала.


msguns   (2005-01-04 11:43:00) [10]

>YurikGL ©   (04.01.05 11:27) [5]
>1) Шаблон базы, когда держишь в запаснике пустую базу и каждый год достаешь ее оттуда.

Дорога на кладбище. Причем прямая.


sergg   (2005-01-04 11:32:00) [11]

Да вот я тоже думаю сейчас сделать шаблон и положить его до следующего года


YurikGL   (2005-01-04 11:27:00) [12]


> sergg   (04.01.05 11:23) [4]

ИМХО есть два варианта:
1) Шаблон базы, когда держишь в запаснике пустую базу и каждый год достаешь ее оттуда.
2) Если в новом году необходим совместный доступ к старой и новой информации для каждый новый период времени создаются новые динамические таблицы с аналогичной структурой. Тогда база будет выглядеть что-то типа такого:

Товары (статическая таблица)
Приходы_2001
Приходы_2002
Приходы_2003
...


sergg   (2005-01-04 11:23:00) [13]

Скажем велась БД весь 2004 год, а теперь надобно начать в 2005-м новую, чистую базу, сохранив всю структуру ее таблиц. т.е. попросту удалив все записи и обнулив счетчики записей, удалить-то не сложно, но как обнулить??? Может есть стандартные средства?


msguns   (2005-01-04 11:21:00) [14]

Очистить с помощью DELETE FROM TABLE
С генератором сложнее. Придется создать таблицу из одной записи и одного поля типа нитежер, куда поместить "1" и на очищаемую таблицу дать запрос:
 INSERT INTO TABLE (ID)
   SELECT ID FROM ONERECORDTABLE


msguns   (2005-01-04 11:21:00) [15]

Если уж совсем почистить, то сжать еще БД.


YurikGL   (2005-01-04 11:17:00) [16]

Пересоздать?


Наверх

Титульная страница Поиск, карта сайта Написать письмо