Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Запрос в нескольких таблицах одновременно!

5.9K
13 июля 2009 года
SPB-667
119 / / 23.06.2007
Возможно ли с помощью одного запроса пройтись по нескольким таблицам Access сразу? Если возможно, то как это реализовать?
2.1K
13 июля 2009 года
wAngel
129 / / 23.11.2004
Можно.
Все зависит от того, что Вы имеете ввиду под
Цитата:
пройтись по нескольким таблицам Access сразу

5.9K
14 июля 2009 года
SPB-667
119 / / 23.06.2007
Например, если при запросе нужно вывести все поля то их не перечиляют через запятую, а просто пишут символ "*". Вот мне надо, чтобы можно было перебрать ВСЕ таблицы (у меня их очень много) из базы данных (.mdb) за один запрос. Я встречал запросы только с явным указанием имени одной таблицы. :confused:
8.2K
14 июля 2009 года
Ora-cool
211 / / 20.09.2007
Цитата: SPB-667
Например, если при запросе нужно вывести все поля то их не перечиляют через запятую, а просто пишут символ "*". Вот мне надо, чтобы можно было перебрать ВСЕ таблицы (у меня их очень много) из базы данных (.mdb) за один запрос. Я встречал запросы только с явным указанием имени одной таблицы. :confused:



Что-то сомнительна цель всего этого. Какой смысл выбирать поля всех таблиц сразу?
Ну если так уж нужно, то

select *
from table1, table2, ...
where ...

46K
14 июля 2009 года
flame_max
23 / / 09.04.2009
для этого вам потребуется добраться к системным данным, в MS SQL данные по всем таблицам в базе хранятся в отдельной системной таблице.
поскольку Access недо СУБД, то это может оказаться не простой задачей...
и навряд ли у вас получится за один запрос что то сделать со ВСЕМИ таблицами для этого нужны курсоры и хранимые процедуры а в Accese насколько я помню процедур нет вовсе, по поводу курсоров ничего сказать не смогу.
5.9K
14 июля 2009 года
SPB-667
119 / / 23.06.2007
конструкция типа

 
Код:
select * from table1, table2, ... where ...


неоптимальна т.к. у меня таблиц около тысячи :o

я понимаю если бы поля каждой таблицы отличались, но в том то и дело что во всех таблицах они одинаковы, т.е. каждая следующая таблица является продолжением предыдущей. а сводить их в единую таблицу не очень удобно и не очень наглядно выйдет... :(
5.9K
14 июля 2009 года
SPB-667
119 / / 23.06.2007
Решил свою проблему. Вот несложный программный код в Visual Basic 6.0:

 
Код:
Dim STR As String

For i = 1 To N
 STR = STR & " UNION SELECT * FROM " & Table(i)
Next i
Data1.RecordSource = Mid(STR, 8)
Data1.Refresh


Контрол Data1 необходим, чтобы отобразить результаты поиска в таблице другого элемента управления DBGrid.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог