Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
Заблокирован

Узнать есть ли конкретная таблица в бд Access?

04.03.2016, 16:50. Показов 4135. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как???
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.03.2016, 16:50
Ответы с готовыми решениями:

Узнать есть ли конкретная таблица в бд Access?
как???

Узнать, существует ли конкретная таблица в БД
Как можно узнать через запрос SQL, существует ли конкретная таблица в БД? Спасибо

Как узнать какую систему хранения (storage engine) использует конкретная таблица Mysql?
Именно таблица,а не система MySQL . И как изменить тип таблицы? Ибо запрос для изменения типа таблицы на тип--innoDB.а именно--alter...

21
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
04.03.2016, 17:02
Посмотреть в MSysObjects, Type=1, например.
0
Заблокирован
04.03.2016, 17:16  [ТС]
ltv_1953, я имею ввиду каким нибудь запросом, мне нужно из кода это сделать
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
04.03.2016, 17:28
А запрос к таблице MSysObjects конкретной базы сделать что не позволяет?
SQL
1
SELECT Name FROM MSysObjects WHERE Name="TB_NAME" AND TYPE=1;
Или Вы полагали, что посмотреть - это типа в очках?
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
04.03.2016, 17:30
Visual Basic
1
2
3
4
5
6
7
8
dim t as tabledef
on error resume next
set t = currentdb.tabledefs("ИмяТаблицы")
if t is Nothing then 
  ' нет такой таблицы в этой базе
else
  ' есть такая таблица
end if
0
Заблокирован
04.03.2016, 17:37  [ТС]
ltv_1953, я не знал как именно построить запрос... а разве MSysObjects будет на компе где не установлен access в принципе? (делаю из кода c#)

texnik-san, мне на C# надо
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
04.03.2016, 17:39
Цитата Сообщение от Volrajas Посмотреть сообщение
а разве MSysObjects будет на компе где не установлен access в принципе?
Это часть базы данных.

Цитата Сообщение от Volrajas Посмотреть сообщение
(делаю из кода c#)
Даже странно, что вы раскололись так быстро. Могли же и в следующем году признаться.
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
04.03.2016, 17:41
Цитата Сообщение от Volrajas Посмотреть сообщение
разве MSysObjects будет на компе где не установлен access в принципе?
Вы хоть одну базу Аксесса смотрели? Похоже, что нет. Как же собираетесь с ней работать?
0
Заблокирован
04.03.2016, 17:48  [ТС]
Цитата Сообщение от texnik-san Посмотреть сообщение
Это часть базы данных.
ну ок, только все равно вот такой код ошибку выдает:
C#
1
2
var table = new DataTable();
db.Query("select Name from MSysObjects where Name="Clients" and TYPE=1", table);
Вызов конструктора для типа "MainWindow", удовлетворяющего указанным ограничениям привязки, привел к выдаче исключения.": номер строки "6" и позиция в строке "9".
Цитата Сообщение от texnik-san Посмотреть сообщение
Даже странно, что вы раскололись так быстро. Могли же и в следующем году признаться.
хотел оставить на сладкое, но не сдержался
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Вы хоть одну базу Аксесса смотрели?
нет, а зачем?
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Как же собираетесь с ней работать?
так же как и с sql server
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
04.03.2016, 17:56
Цитата Сообщение от Volrajas Посмотреть сообщение
ну ок, только все равно вот такой код ошибку выдает:
А какая связь у этого кода с поставленной вами задачей "как узнать, существует ли в базе данных таблица с заданным именем"?
0
Заблокирован
04.03.2016, 17:58  [ТС]
Цитата Сообщение от texnik-san Посмотреть сообщение
А какая связь у этого кода с поставленной вами задачей "как узнать, существует ли в базе данных таблица с заданным именем"?
ну из заполненного DataTable я могу посмотреть существует эта таблица или нет
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
04.03.2016, 17:58
Кстати, расстановка кавычек вас не смущает?
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
04.03.2016, 17:59
Цитата Сообщение от Volrajas Посмотреть сообщение
так же как и с sql server
Угу. Тогда некоторые отличия Jet SQL и MS SQL будут приводить к забавным результатам ... .
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
04.03.2016, 18:02
Цитата Сообщение от Volrajas Посмотреть сообщение
ну из заполненного DataTable я могу посмотреть существует эта таблица или нет
И если существует - то... что?
0
Заблокирован
04.03.2016, 18:03  [ТС]
Цитата Сообщение от texnik-san Посмотреть сообщение
И если существует - то... что?
то я могу с ней работать, что за странные вопросы?
0
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
04.03.2016, 18:06
Цитата Сообщение от Volrajas Посмотреть сообщение
то я могу с ней работать, что за странные вопросы?
Если вы все равно собираетесь с ней работать, то почему не сделать сразу

C
1
db.Query("select * from Clients", table);
Если таблицы нет, получите незаполненный DataTable

Добавлено через 1 минуту
Вы кавычки проверять и исправлять планируете или как?
0
Заблокирован
04.03.2016, 18:24  [ТС]
Цитата Сообщение от texnik-san Посмотреть сообщение
Если таблицы нет, получите незаполненный DataTable
как бы не так, будет ошибка: Вызов конструктора для типа "MainWindow", удовлетворяющего указанным ограничениям привязки, привел к выдаче исключения.": номер строки "6" и позиция в строке "9".
Цитата Сообщение от texnik-san Посмотреть сообщение
Кстати, расстановка кавычек вас не смущает?
Цитата Сообщение от texnik-san Посмотреть сообщение
Вы кавычки проверять и исправлять планируете или как?
о каких кавычках речь?

Добавлено через 11 минут
а да, насчет ошибки, это просто из за того wpf проект, перехватывает там че то и свое сует, я посмотрел вложенное исключение там пишет: "Ядро базы данных Microsoft Jet не может найти входную таблицу или запрос 'Clients'. Проверьте существование таблицы или запроса и правильность имени." вот так то, так что не вернет он пустую таблицу как бы не так

Добавлено через 2 минуты
а код из 9 поста соответственно выкидывает исключение "Записи не могут быть прочитаны; отсутствует разрешение на чтение данных для 'MSysObjects'."
0
Эксперт MS Access
26827 / 14507 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
04.03.2016, 18:38
Неужели в шарпе нет обработки и обхода ошибок?

Можно в DAO или ADO подключиться в БД и прсмотреть список таблиц. Пример для DAO. В ВБА конечно
Visual Basic
1
2
3
4
5
6
7
8
9
Dim dao As Object, db As Object, tdf As Object
Set dao = CreateObject("DAO.DBEngine.120") 'Для mdb надо 36, для accdb: 120 
Set db = dao.OpenDatabase(путь & "\Database.accdb")
for each tdf in db.tabledefs
  if tdf.name="Clients" Then 
    'Значит таблица "Clients" есть. Что-делаем с таблицей
    exit for
  end if
next
Можно также использовать ADO и библиотеку ADOX, позволяющую анализировать свойства БД. Об ADOX можно прочитать здесь - http://hiprog.com/index.php?op... &Itemid=35
0
Заблокирован
04.03.2016, 18:43  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Неужели в шарпе нет обработки и обхода ошибок?
есть, но я не знаю какое конкретно исключение ловить - у вложенного исключения не указан тип
Цитата Сообщение от mobile Посмотреть сообщение
Можно в DAO или ADO подключиться в БД и прсмотреть список таблиц. Пример для DAO. В ВБА конечно
я ничего не смыслю в бэйсике, и вообще я же говорю я пишу на c# при чем тут бэйсик? к тому же тут даже классы другие, такие каких нет в шарпе
Цитата Сообщение от mobile Посмотреть сообщение
Можно также использовать ADO и библиотеку ADOX, позволяющую анализировать свойства БД. Об ADOX можно прочитать здесь - http://hiprog.com/index.php?op... &Itemid=35
вот ADOX то я и использую для создания бд, других там способов нет, но работаю с бд уже через OleDbConnection, а как с помощью ADOX проверить существует ли таблица я не знаю по вашей ссылке все на бэйсике, я его не понимаю
0
369 / 88 / 8
Регистрация: 14.08.2012
Сообщений: 248
04.03.2016, 18:50
Volrajas, дружище, ты дверью ошибся. Тебе надо сюда https://www.cyberforum.ru/ado-net/ Там тебе все расскажут.

И че ты на местных сердишься? Они тебе рассказывают, что знают. Не их вина, что ты с бейсиком не в ладах. Хоть поблагодарил бы отзывчивость. Могли бы и промолчать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.03.2016, 18:50
Помогаю со студенческими работами здесь

Как узнать в каком файле .lib содержится конкретная функция Windows?
Мне например надо узнать в каком библиотечном файле искать функцию GetSystemMetrics@4. С помощью какого инструмента можно перерыть все...

VBA Word узнать вылазит ли таблица за поля страницы и есть ли переносы строк в ячейках
Есть ряд документов которые нужно обработать. Выровнять по странице таблицы, удалить пустые строчки. Просто сделать AutoFit не вариант -...

Как определить список таблиц в MS Access и как узнать какая таблица активна?
Как определить список таблиц в MS Access и как узнать какая таблица активна (т.е. открыта юзером из Accessa или из проги на VB) в данной...

"Родительская форма" или как узнать с какой формы была запущена конкретная
Всем привет! Может кто сталкивался или знает, возможно ли отследить через VBA с какой формы была запущена данная. К примеру есть форма1...

Есть ли телефоны с АВТОМАТИЧЕСКИМ включением на запись разговора при входящем и исходящем вызывах? Интересует конкретная модель.(самая простая)
сабж


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Вот уже год прошел, как у меня домен в reg.ru ...
Etyuhibosecyu 16.04.2026
И ничего они мне не сделали. Если отвязать карту, никакие услуги они не навяжут. Я бы с радостью продлил еще на два года, чтобы не мучиться с временным доменом и меня уже знали по red-star-soft. com,. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru