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

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

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

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Подобных тем на свой вопрос я не нашёл.
Есть бд. В ней 7 таблиц никак не связанных друг с другом. Но есть одно схожее поле "Станция "
Мне нужно сделать поиск по станциям. Допустим ввожу в поле любую станцию, и в итоге должен получить всю информацию из всех 7 таблиц, где забита эта станция.
Посоветуйте с решением данного вопрос, пожалуйста!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.10.2016, 09:16
Ответы с готовыми решениями:

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

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

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

13
Эксперт MS Access
 Аватар для Eugene-LS
11111 / 5732 / 1468
Регистрация: 05.10.2016
Сообщений: 16,191
10.10.2016, 09:24
Цитата Сообщение от AleksandRus18 Посмотреть сообщение
Допустим ввожу в поле любую станцию, и в итоге должен получить всю информацию из всех 7 таблиц
Хм... Да уж задачка не из популярных - точно. Я бы пошел таким путём:
Создал бы таблицу "Результаты Поиска" и по кнопке бы сбрасывал найденные вхождения из всех таблиц запросами.
Перед сбросом - табличку почистить от старых результатов не забываем - естессено.

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

Это уж как удобней ....
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
10.10.2016, 09:30
Плохая идея... Но интернет говорит что есть запрос:
SQL
1
SELECT Name FROM msysobjects WHERE TYPE = 1
Который вернет список таблиц.
Последовательный запрос к каждой из них даст тебе нужный результат.
1
 Аватар для VinniPuh
9117 / 6087 / 591
Регистрация: 27.03.2013
Сообщений: 19,898
10.10.2016, 09:35
Цитата Сообщение от AleksandRus18 Посмотреть сообщение
...В ней 7 таблиц никак не связанных друг с другом....
Очень плохо что не связаны.
99% Успеха в - Access основано именно на правильных связях.
Ну и было бы неплохо узрить сии 7 загадочных таблиц.
2
Мы один, давай на "ты"
3819 / 1371 / 337
Регистрация: 16.06.2016
Сообщений: 3,246
10.10.2016, 10:02
Цитата Сообщение от 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
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
10.10.2016, 11:32
Цитата Сообщение от Панург Посмотреть сообщение
А ТС не знает их названия?
Судя по всему нет.
1
шапоклякистка 8-го дня
 Аватар для texnik-san
3680 / 2240 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
10.10.2016, 14:42
Цитата Сообщение от Панург Посмотреть сообщение
Собери эти таблицы в запрос на объединение
....
Потом на основании этого запроса создай запрос на выборку с нужным тебе условием. Всё.
Ой нет, ну это в совсем что-то некошерное подсказываете. Нужно сначала фильтровать по условию, и только потом что-то делать с результатом отбора. Если, допустим, действительно объедяинать ветикально, то

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
Мы один, давай на "ты"
3819 / 1371 / 337
Регистрация: 16.06.2016
Сообщений: 3,246
10.10.2016, 17:13
Цитата Сообщение от texnik-san Посмотреть сообщение
Ой нет, ну это в совсем что-то некошерное подсказываете. Нужно сначала фильтровать по условию, и только потом что-то делать с результатом отбора.
Не так уж и всё страшно. Для больших выборок (>100тыс записей) становится заметна разница. Специально протестировал...
В общем на 700 000 записей открываются наборы в среднем за 3,33 (каждый подзапрос фильтруется) и 4,77 (все скопом) секунды соответственно.
1
шапоклякистка 8-го дня
 Аватар для texnik-san
3680 / 2240 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
10.10.2016, 18:49
Это вы на локальном компе в однопользовательском режиме тестировали. Поместите на сервер и гоняйте по сетке при аботающих других пользователях..
1
Мы один, давай на "ты"
3819 / 1371 / 337
Регистрация: 16.06.2016
Сообщений: 3,246
10.10.2016, 18:59
texnik-san, ... а вы на шкаф залезте...© из анекдота
Во-первых я сомневаюсь что это будет сервером, во-вторых была оговорка, про общий алгоритм без оптимизации процессов, в третьих нужно избавится от семи таблиц.

Кабы да бы выросли во рту бобы... © народная мудрость
1
шапоклякистка 8-го дня
 Аватар для texnik-san
3680 / 2240 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
10.10.2016, 19:11
Цитата Сообщение от Панург Посмотреть сообщение
в третьих нужно избавится от семи таблиц.
От семи несвязанных таблиц!
1
Эксперт MS Access
 Аватар для Eugene-LS
11111 / 5732 / 1468
Регистрация: 05.10.2016
Сообщений: 16,191
10.10.2016, 19:28
Да и вообще:
Не зная структуры, подробностей и предпочтений = советовать что либо довольно проблематично.
Много шансов попасть "пальцем в небо"

AleksandRus18 - ели помощь "клуба" всё ещё интересена - буддте добры; "Подробности в студию!" ... и побольше....
1
Мы один, давай на "ты"
3819 / 1371 / 337
Регистрация: 16.06.2016
Сообщений: 3,246
10.10.2016, 19:51
texnik-san, это ниочём...
1
Эксперт MS Access
 Аватар для alvk
7457 / 4590 / 302
Регистрация: 12.08.2011
Сообщений: 14,360
11.10.2016, 02:43
Цитата Сообщение от Eugene-LS Посмотреть сообщение
AleksandRus18 - ели помощь "клуба" всё ещё интересена - буддте добры; "Подробности в студию!" ... и побольше....
Не так, а так: Прочитайте уже наконец правила раздела!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.10.2016, 02:43
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Создаем микросервисы с Go и Kubernetes
golander 02.07.2025
Когда я только начинал с микросервисами, все спорили о том, какой язык юзать. Сейчас Go (или Golang) фактически захватил эту нишу. И вот почему этот язык настолько заходит для этих задач: . . .
C++23, квантовые вычисления и взаимодействие с Q#
bytestream 02.07.2025
Я всегда с некоторым скептицизмом относился к громким заявлениям о революциях в IT, но квантовые вычисления - это тот случай, когда революция действительно происходит прямо у нас на глазах. Последние. . .
Вот в чем сила LM.
Hrethgir 02.07.2025
как на английском будет “обслуживание“ Слово «обслуживание» на английском языке может переводиться несколькими способами в зависимости от контекста: * **Service** — самый распространённый. . .
Использование Keycloak со Spring Boot и интеграция Identity Provider
Javaican 01.07.2025
Два года назад я получил задачу, которая сначала показалась тривиальной: интегрировать корпоративную аутентификацию в микросервисную архитектуру. На тот момент у нас было семь Spring Boot приложений,. . .
Содержание темы с примерами на WebGL
8Observer8 01.07.2025
Все примеры из книги Мацуды и Ли в песочнице JSFiddle Пример выводит точку красного цвета размером 10 пикселей на WebGL 1. 0 и 2. 0 WebGL 1. 0. Передача координаты точки из главной программы в. . .
Основы WebGL. Простой треугольник
8Observer8 01.07.2025
Простой треугольник без трансформаций. Для трансформаций можно использовать glMatrix, как в примере: https:/ / plnkr. co/ edit/ qT6ZTwvncLPRamK5?preview На русском: . . .
Полиглотные микросервисы на C# и .NET
ArchitectMsa 30.06.2025
Полиглотная архитектура появилась не из желания усложнить жизнь разработчикам. Она родилась из практической необходимости решать разные задачи наиболее эффективным способом. В одном из проектов. . .
Стратегии кеширования
Javaican 29.06.2025
Кеширование — это хранение часто запрашиваемых данных в быстром хранилище (обычно в памяти), чтобы не обращаться к более медленному первоисточнику. Казалось бы, все просто. Но за этой простотой. . .
Наблюдаемость приложений ASP.NET Core с OpenTelemetry, Prometheus и Grafana
ArchitectMsa 29.06.2025
Наблюдаемость (observability) – это ключевое свойство современной системы, позволяющее понимать её внутреннее состояние на основе внешних данных. Если мониторинг отвечает на вопрос "что случилось?",. . .
Четыре главных модели отношений классов в с++
russiannick 28.06.2025
Продолжаю крестовый поход против c++. ideone. com/ юзаю для проверки валидности кода. Насчитал 4 модели отношений классов: одиночный класс, равноправные классы, слейв - мастер, терминатор. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru