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

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

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

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

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


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