MyTetra Share
Делитесь знаниями!
Проверка существования таблицы БД MS Access
Время создания: 17.03.2019 00:18
Раздел: Разные закладки - VBA - Access
Запись: xintrea/mytetra_db_adgaver_new/master/base/1552771097u6zhr8455x/text.html на raw.githubusercontent.com

Проверка существования таблицы БД MS Access


Решение


Dim alTBL As New DataTable

            Dim i As Integer = 0

            cn.Open()

            alTBL = cn.GetOleDbSchemaTable(OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})

            cn.Close()

            Me.cbxTables.Items.Clear()

            For i = 0 To alTBL.Rows.Count - 1

                Me.cbxTables.Items.Add(alTBL.Rows(i).Item("TABLE_NAME").ToString)

            Next



На форме имеем комбик или листбокс с именем cbxTables
cn - это соединение oledbconnection
После выполнения получим список таблиц в БД. Ну а проверку на существование таблицы с определенным именем несложно сделать. Думаю, есть варианты поизящнее, просто этот кусок я выдрал из проекта, где нужен был список таблиц, а не проверка наличия определенной.

2



Вариант, аналогичный Юпатов Дмитрий,

SELECT * FROM information_schema.tables

Добавлено через 4 минуты
И вот еще:

Как вывести список всех таблиц текущей базы?



а если

SELECT COUNT (*) FROM information_schema.TABLES WHERE [TABLE_NAME] = <имя искомой таблицы>



Добавлено через 1 минуту
Получим или 0 (таблицы нет) или 1 (т.е. она есть). Больше 1 быть не иожет при строгом равенстве

2

Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования