Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как создать таблицу, если её нет и удалить, если она есть? / 11 сообщений из 11, страница 1 из 1
02.12.2004, 21:55:13
    #32810676
Kezya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать таблицу, если её нет и удалить, если она есть?
Всем здравствуйте. Подскажите, пожалуйста, как можно создать таблицу, но только в том случае, если она не существует в базе.
И, соответственно, как можно удалить таблицу, но только в том случае, если она есть в базе.
И еще попутно вопрос: используется временная таблица для расчетов. Как лучше - удалять её после расчетов и при необходимости создавать, или просто чистить от записей не удаляя.
С базой работаю используя ADO, VC++.
Спасибо за помощь
...
Рейтинг: 0 / 0
02.12.2004, 22:08:46
    #32810684
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать таблицу, если её нет и удалить, если она есть?
Kezyaкак можно создать таблицу, но только в том случае, если она не существует в базе.
И, соответственно, как можно удалить таблицу, но только в том случае, если она есть в базе.
Способ 1. Создавать и стирать без проверки, а потом обрабатывать ошибку.
Способ 2. Запрос к таблице MSysObjects.

Kezyaиспользуется временная таблица для расчетов. Как лучше - удалять её после расчетов и при необходимости создавать, или просто чистить от записей не удаляя.
Лучше всего каждый раз создавать чистый mdb (копируя его откуда-нибудь), ибо иначе он будет постоянно разбухать.
...
Рейтинг: 0 / 0
02.12.2004, 22:52:53
    #32810704
Kezya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать таблицу, если её нет и удалить, если она есть?
Способ1 не очень хорош, т.к. не понятно, почему произошла ошибка, то ли таблца существует, то ли она не была создана.
Способ2 лучше скорее всего.

При создании/удалении временной таблица база за несколько раз (5-10) разбухает почти что в два раза :(
Но копировать не получается, т.к. новые данные добавляются постоянно, и уже новые обрабатываются во временной таблице. Видимо, придется чаще делать сжатие базы :(
БОЛЬШОЕ спасибо за советы!
...
Рейтинг: 0 / 0
02.12.2004, 22:57:10
    #32810706
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать таблицу, если её нет и удалить, если она есть?
KezyaНо копировать не получается, т.к. новые данные добавляются постоянно, и уже новые обрабатываются во временной таблице.
И таблица никогда не бывает пустой???

Тогда можно попробовать подменять файл так: создать новый, скопировать данные из старого в него, стереть старый, переименовать новый.
...
Рейтинг: 0 / 0
02.12.2004, 23:38:20
    #32810720
Kezya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать таблицу, если её нет и удалить, если она есть?
Новый mdb файл - это новая база, я так понимаю?
Проще наверное будет в конце рабочего дня сжимать базу тогда
...
Рейтинг: 0 / 0
03.12.2004, 00:11:55
    #32810737
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать таблицу, если её нет и удалить, если она есть?
KezyaНовый mdb файл - это новая база, я так понимаю?
Так точно.

KezyaПроще наверное будет в конце рабочего дня сжимать базу тогда
Я суеверен. Базы Аксесса эпизодически накрываются. В том числе и после сжатия. Поэтому если в базе всего одна таблица и есть возможность создать новую базу - есть смысл это сделать.
...
Рейтинг: 0 / 0
03.12.2004, 00:32:57
    #32810747
Kezya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать таблицу, если её нет и удалить, если она есть?
Да уж, точно, бывает это с базами акцеса :)
Но воттаблица там не одна, а много :(
Или вы рекомендуете временную таблицу создавать в другой базе? Которую вполне можно стирать и создавать заново
...
Рейтинг: 0 / 0
03.12.2004, 00:47:05
    #32810752
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать таблицу, если её нет и удалить, если она есть?
KezyaИли вы рекомендуете временную таблицу создавать в другой базе? Которую вполне можно стирать и создавать заново
Конечно, в другой!!! Еще не хватало, чтобы сама основная база все время летела...
...
Рейтинг: 0 / 0
03.12.2004, 08:07:34
    #32810861
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать таблицу, если её нет и удалить, если она есть?
ADOX как раз для ваших целей. Не изобретайте велосипеда.
...
Рейтинг: 0 / 0
03.12.2004, 13:47:16
    #32811856
Kezya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать таблицу, если её нет и удалить, если она есть?
ADOX - это как? :)
Не встречал такого. Сейчас посмотрю
...
Рейтинг: 0 / 0
03.12.2004, 15:51:44
    #32812186
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать таблицу, если её нет и удалить, если она есть?
Собственно состоит из двух частей - ADODB и ADOX. Можно, конечно в ADODB DDL запросы загонять, а можно через ADOX с объектами бд работать.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как создать таблицу, если её нет и удалить, если она есть? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]