Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Как проверить наличие таблицы в базе??  [new]
Andrew12
Member

Откуда:
Сообщений: 81
subj, собственно..
19 мар 04, 16:50    [588112]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить наличие таблицы в базе??  [new]
Andrew12
Member

Откуда:
Сообщений: 81
Просто тружусь над созданием модуля для редактирования записей перекрестного запроса - если кому надо будет - скину..
19 мар 04, 16:54    [588126]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить наличие таблицы в базе??  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
1. Попробовать обратиться и поймать ошибку.

2. Перебором коллекции TableDefs.
19 мар 04, 16:57    [588144]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить наличие таблицы в базе??  [new]
Andrew12
Member

Откуда:
Сообщений: 81
TableDefs Имеет только несколько методов (property) Append, Count, Delete, Refresh. Что из этого??
19 мар 04, 17:00    [588163]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить наличие таблицы в базе??  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Tabledefs - это коллекция. Tabledefs(i) - это тот объект, у которого есть все, что нужно.
19 мар 04, 17:05    [588183]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить наличие таблицы в базе??  [new]
Andrew12
Member

Откуда:
Сообщений: 81
Отлично! С этим проблем не возникло. А теперь если нужно сделать тоже самое, только в ADP+MSSQL2000. Там CurrentDb.TAbleDefs не прокатывает.

2Владимир Саныч Может вы знаете другую магическую строчку??
20 мар 04, 02:24    [588635]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить наличие таблицы в базе??  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Я не знаю adp, но в этом форуме можно найти ответ на этот вопрос - он (и вопрос, и ответ) тут проскакивал неоднократно.
20 мар 04, 13:38    [588734]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить наличие таблицы в базе??  [new]
Shuhard
Member

Откуда:
Сообщений: 4998
Исходя из предположения что сервер доступен проверим наличие одной таблицы открыв RecordSet и поймав ошибку .Вместо CurrentDb у нас будет CurrentProject что экономит на написании строк подключения и передаче пароля

Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
On Error GoTo Bad_Table
rst.Open "Name_Table", CurrentProject.Connection
MsgBox ("YES Name_Table")
rst.Close
Set rst = Nothing
Exit Sub
Bad_Table:
MsgBox ("NO Name_Table")
End Sub
20 мар 04, 13:44    [588738]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить наличие таблицы в базе??  [new]
Темный
Member

Откуда:
Сообщений: 11941
T-SQL:
IF EXISTS (SELECT name FROM sysobjects WHERE name = "your name" AND TYPE = "your type")...
20 мар 04, 14:25    [588751]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить наличие таблицы в базе??  [new]
Andrew12
Member

Откуда:
Сообщений: 81
Спасибо, а как получить доступ к таблицам?? К примеру, удалить таблицу.
22 мар 04, 11:43    [589771]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить наличие таблицы в базе??  [new]
Shuhard
Member

Откуда:
Сообщений: 4998
если T-sql не нравится то
CurrentProject.Connection.Execute ("DROP TABLE имя_таблицы")
предвосхищая вопросы есть
create table
alter table + alter column
см DDL в описании sql
22 мар 04, 15:37    [590420]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить