Существование таблицы

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Scuder
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 334
Зарегистрирован: 17.08.2002 (Сб) 13:18
Откуда: Moscow, Russia

Существование таблицы

Сообщение Scuder » 25.04.2004 (Вс) 18:40

Как, собственно, узнать, существует указанная таблица, или нет? С помощью SQL желательно.

БД - Access 2000.

Thx.

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 25.04.2004 (Вс) 20:49

С помощью SQL? Есть системная таблица MSysObjects. Администраторам ее точно можно смотреть. А вот с простыми смертными проверь, если надо - по-моему им нельзя...
SELECT * FROM MSysObjects WHERE Name = 'MyTableName'

Можешь еще подстраховаться Type = 1 (чтобы это точно таблица была)

А так, еще много способов есть :). В DAO можно TableDef'ы перебрать. Можно просто "SELECT 1 FROM MyTableName" выполнить и ошибку поймать.
Учиться - значит открывать для себя то, что уже знаешь. <...> Учить - значит напоминать другим о том, что они знают это также хорошо, как и ты. <...> Лучше всего ты учишь тому, чему тебе самому больше всего надо научиться. (Р. Бах)

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

Сообщение alibek » 26.04.2004 (Пн) 9:09

Если DAO, то можно, как уже советовали, перебирать коллекцию TableDefs. Если ADO, то можно делать .OpenSchema(adTables), а можно подключить ADOX и смотреть Catalog.Tables. Если только средствами SQL, то тебе уже подсказали.
Lasciate ogni speranza, voi ch'entrate.


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

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

Сейчас этот форум просматривают: PetalBot и гости: 2

    TopList