Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/34: Рейтинг темы: голосов - 34, средняя оценка - 4.62
-15 / 0 / 0
Регистрация: 26.05.2015
Сообщений: 45
1

Поиск по всем таблицам

10.10.2016, 09:16. Показов 7079. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Подобных тем на свой вопрос я не нашёл.
Есть бд. В ней 7 таблиц никак не связанных друг с другом. Но есть одно схожее поле "Станция "
Мне нужно сделать поиск по станциям. Допустим ввожу в поле любую станцию, и в итоге должен получить всю информацию из всех 7 таблиц, где забита эта станция.
Посоветуйте с решением данного вопрос, пожалуйста!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.10.2016, 09:16
Ответы с готовыми решениями:

Как в запросе на объединение применить WHERE сразу ко всем объединяемым таблицам?
Здравствуйте! В БД есть "Запрос" (на объединение), в котором желаемый результат. Если записей...

Создать запрос по двум таблицам по полю, чтобы отображались данные по всем контрактам
Имеем 2 таблицы, главную и подчиненную ( 1 - ко многим ). При создании запроса в таблице...

Поиск по таблицам
Доброго времени суток!!! Подскажите пожалуйста..как можно сделать поиск,только чтобы на одной...

Поиск строки по таблицам
nepomojeteli vi mne, kak iskat stroku 'br-1def-456' v tablicax tab1, tab2, tab3 s pomoshyu zaprosa.

13
Заблокирован
10.10.2016, 09:24 2
Цитата Сообщение от AleksandRus18 Посмотреть сообщение
Допустим ввожу в поле любую станцию, и в итоге должен получить всю информацию из всех 7 таблиц
Хм... Да уж задачка не из популярных - точно. Я бы пошел таким путём:
Создал бы таблицу "Результаты Поиска" и по кнопке бы сбрасывал найденные вхождения из всех таблиц запросами.
Перед сбросом - табличку почистить от старых результатов не забываем - естессено.

Второй вариант:
Сделать в форме тестовое поле побольше - писать туда найденную инфу.

Это уж как удобней ....
0
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
10.10.2016, 09:30 3
Плохая идея... Но интернет говорит что есть запрос:
SQL
1
SELECT Name FROM msysobjects WHERE TYPE = 1
Который вернет список таблиц.
Последовательный запрос к каждой из них даст тебе нужный результат.
1
8877 / 5934 / 585
Регистрация: 27.03.2013
Сообщений: 19,626
10.10.2016, 09:35 4
Цитата Сообщение от AleksandRus18 Посмотреть сообщение
...В ней 7 таблиц никак не связанных друг с другом....
Очень плохо что не связаны.
99% Успеха в - Access основано именно на правильных связях.
Ну и было бы неплохо узрить сии 7 загадочных таблиц.
2
Мы один, давай на "ты"
3425 / 1304 / 314
Регистрация: 16.06.2016
Сообщений: 3,065
10.10.2016, 10:02 5
Цитата Сообщение от Hikari Посмотреть сообщение
Который вернет список таблиц.
А ТС не знает их названия?

Добавлено через 6 минут
AleksandRus18, я не знаю структуру твоих таблиц, да и с нормализацией у тебя, судя по тому, что нужно искать по 7 таблицам, вообще никакак. поэтому, общий алгоритм такой.
Собери эти таблицы в запрос на объединение, типо
SQL
1
2
3
4
5
6
SELECT table1.*, "table1" AS TableName  FROM table1
UNION ALL 
SELECT table2.*, "table2" AS TableName  FROM table2
...
UNION ALL
SELECT table7.*, "table7" AS TableName  FROM table7;
Хорошо если у тебя совпадают поля по смыслу, иначе комбинируй сам.
Потом на основании этого запроса создай запрос на выборку с нужным тебе условием. Всё.

Добавлено через 3 минуты
AleksandRus18, только это не поиск, а фильтрация.
1
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
10.10.2016, 11:32 6
Цитата Сообщение от Панург Посмотреть сообщение
А ТС не знает их названия?
Судя по всему нет.
1
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
10.10.2016, 14:42 7
Цитата Сообщение от Панург Посмотреть сообщение
Собери эти таблицы в запрос на объединение
....
Потом на основании этого запроса создай запрос на выборку с нужным тебе условием. Всё.
Ой нет, ну это в совсем что-то некошерное подсказываете. Нужно сначала фильтровать по условию, и только потом что-то делать с результатом отбора. Если, допустим, действительно объедяинать ветикально, то

SQL
1
2
3
4
5
6
7
8
SELECT table1.*, "table1" AS TableName  FROM table1
WHERE Станция = 'Образец'
UNION ALL 
...
...
UNION ALL
SELECT table7.*, "table7" AS TableName  FROM table7
WHERE Станция = 'Образец';
(обратить внимание на условие WHERE - его нужно разместить после каждого FROM ИмяТаблицы.
1
Мы один, давай на "ты"
3425 / 1304 / 314
Регистрация: 16.06.2016
Сообщений: 3,065
10.10.2016, 17:13 8
Цитата Сообщение от texnik-san Посмотреть сообщение
Ой нет, ну это в совсем что-то некошерное подсказываете. Нужно сначала фильтровать по условию, и только потом что-то делать с результатом отбора.
Не так уж и всё страшно. Для больших выборок (>100тыс записей) становится заметна разница. Специально протестировал...
В общем на 700 000 записей открываются наборы в среднем за 3,33 (каждый подзапрос фильтруется) и 4,77 (все скопом) секунды соответственно.
1
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
10.10.2016, 18:49 9
Это вы на локальном компе в однопользовательском режиме тестировали. Поместите на сервер и гоняйте по сетке при аботающих других пользователях..
1
Мы один, давай на "ты"
3425 / 1304 / 314
Регистрация: 16.06.2016
Сообщений: 3,065
10.10.2016, 18:59 10
texnik-san, ... а вы на шкаф залезте...© из анекдота
Во-первых я сомневаюсь что это будет сервером, во-вторых была оговорка, про общий алгоритм без оптимизации процессов, в третьих нужно избавится от семи таблиц.

Кабы да бы выросли во рту бобы... © народная мудрость
1
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
10.10.2016, 19:11 11
Цитата Сообщение от Панург Посмотреть сообщение
в третьих нужно избавится от семи таблиц.
От семи несвязанных таблиц!
1
Заблокирован
10.10.2016, 19:28 12
Да и вообще:
Не зная структуры, подробностей и предпочтений = советовать что либо довольно проблематично.
Много шансов попасть "пальцем в небо"

AleksandRus18 - ели помощь "клуба" всё ещё интересена - буддте добры; "Подробности в студию!" ... и побольше....
1
Мы один, давай на "ты"
3425 / 1304 / 314
Регистрация: 16.06.2016
Сообщений: 3,065
10.10.2016, 19:51 13
texnik-san, это ниочём...
1
Эксперт MS Access
7410 / 4546 / 295
Регистрация: 12.08.2011
Сообщений: 14,076
11.10.2016, 02:43 14
Цитата Сообщение от Eugene-LS Посмотреть сообщение
AleksandRus18 - ели помощь "клуба" всё ещё интересена - буддте добры; "Подробности в студию!" ... и побольше....
Не так, а так: Прочитайте уже наконец правила раздела!
1
11.10.2016, 02:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2016, 02:43
Помогаю со студенческими работами здесь

Поиск по двум таблицам
Здравствуйте, очень нужна ваша помощь. У меня проблема с поиском по двум таблицам. Дело в том, что...

Поиск по нескольким таблицам
Здравствуйте, помогите пожалуйста. Нужно сделать запрос на поиск слова из нескольких таблиц при...

Сделать поиск по таблицам базы
Не дружу совсем с VBA, нужно сделать поиск по 2 таблицам, например пользователь пишет простые...

Умный поиск по нескольким таблицам Access
Уважаемые знатоки, помоги пожалуйста решить следующую задачу: Есть база данных в Access и Excel,...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru