Как проверить, существует ли таблица в Доступе MS для vb макросов [дубликат]

16
задан l-l 15 August 2017 в 14:41
поделиться

4 ответа

Установка ссылки на библиотеку объектов Microsoft Access 12.0 позволяет нам, чтобы проверить, существует ли таблица, используя DCount.

Public Function ifTableExists(tblName As String) As Boolean

    If DCount("[Name]", "MSysObjects", "[Name] = '" & tblName & "'") = 1 Then

        ifTableExists = True

    End If

End Function
32
ответ дан 30 November 2019 в 15:29
поделиться

Это не новый вопрос. Я добавил это в комментариях в одном сообщении SO и опубликовал мои альтернативные реализации в другом сообщении. Комментарии в первом сообщении фактически проливают свет на различия в производительности между различными реализациями.

В основном, какой из них работает быстрее всего, зависит от того, какой объект базы данных вы используете с ним.

1
ответ дан 30 November 2019 в 15:29
поделиться

В Access есть какие-то системные таблицы Вы можете немного прочитать об этом здесь вы можете запустить следующий запрос, чтобы узнать, существует ли он (1 = он существует, 0 = это не так;))

SELECT Count([MSysObjects].[Name]) AS [Count]
FROM MSysObjects
WHERE (((MSysObjects.Name)="TblObject") AND ((MSysObjects.Type)=1));
0
ответ дан 30 November 2019 в 15:29
поделиться
Exists = IsObject(CurrentDb.TableDefs(tablename))
11
ответ дан 30 November 2019 в 15:29
поделиться